我开始使用Python中的BigQuery API following the documentation。
这是我的代码,改编自an example:
credentials = GoogleCredentials.get_application_default()
bigquery_service = build('bigquery', 'v2', credentials=credentials)
try:
query_request = bigquery_service.jobs()
query_data = {
'query': (
'SELECT * FROM [mytable] LIMIT 10;"
)
}
query_response = query_request.query(
projectId=project_id,
body=query_data).execute()
for row in query_response['rows']:
print('\t'.join(field['v'] for field in row['f']))
我遇到的问题是我不断收到回复:
{u'kind': u'bigquery#queryResponse',
u'jobComplete': False,
u'jobReference': {u'projectId': 'myproject', u'jobId': u'xxxx'}}
所以它没有rows
字段。查看文档,我想我需要使用jobId
字段并使用它来检查作业何时完成,然后获取数据。
我遇到的问题是文档有点分散和混乱,我不知道该怎么做。
我认为我需要use this method来检查作业的状态,但是如何使其适应Python呢?我应该多久检查一次/我应该等多久?
有人能举个例子吗?