Ich Abfrage BigQuery über google-cloud-python
wie folgt:Erste Ergebnisse als JSON von BigQuery mit Google-Cloud-Python
client = bigquery.Client()
query = """SELECT * FROM `{dataset}.{table}`
WHERE [email protected] LIMIT 1""".format(dataset=dataset,
table=table)
param = ScalarQueryParameter('id', 'STRING', id)
query = client.run_sync_query(query, query_parameters=[param])
query.use_legacy_sql = False
query.timeout_ms = 1000
query.run()
assert query.complete
try:
results = query.rows[0]
except IndexError:
results = None
Dies gibt Daten wie:
[
"Tue, 11 Apr 2017 03:18:52 GMT",
"A132",
"United Kingdom",
[
{
"endDate": "2012-12-05",
"startDate": "2011-12-27",
"statusCode": "Terminated"
}
]
]
Das wiederholte Feld umgewandelt wurde zu JSON. Aber ich möchte, dass der Rest der Daten auch in JSON konvertiert wird. Ich könnte dies selbst implementieren, indem ich query.schema
prüfe, aber es scheint, dass dies in der Bibliothek sein sollte, da es für wiederholte Elemente bereits passiert.
Wie kann ich mithilfe dieser Bibliothek BigQuery-Abfrageergebnisse erhalten, die als JSON formatiert sind? Z.B .:
{
"timestamp": "Tue, 11 Apr 2017 03:18:52 GMT",
"id": "A132",
"country": "United Kingdom",
[
{
"endDate": "2012-12-05",
"startDate": "2011-12-27",
"statusCode": "Terminated"
}
]
}