我正在使用BigQuery Client API编写
Python代码,并尝试使用异步查询代码(在任何地方作为代码示例编写),并且在fetch_data()方法调用中失败. Python错误输出错误:
ValueError: too many values to unpack
因此,3个返回值(rows,total_count,page_token)似乎是错误的返回值数.但是,我找不到任何关于这个方法应该返回的文档 – 除了显示这3个返回结果的众多代码示例之外.
下面是一段代码,显示了我正在做的事情(不包括’client’变量的初始化或导入的库,这在我的代码中更早出现).
#---> Set up and start the async query job
job_id = str(uuid.uuid4())
job = client.run_async_query(job_id, query)
job.destination = temp_tbl
job.write_disposition = 'WRITE_TRUNCATE'
job.begin()
print 'job started...'
#---> Monitor the job for completion
retry_count = 360
while retry_count > 0 and job.state != 'DONE':
print 'waiting for job to complete...'
retry_count -= 1
time.sleep(1)
job.reload()
if job.state == 'DONE':
print 'job DONE.'
page_token = None
total_count = None
rownum = 0
job_results = job.results()
while True:
# ---- Next line of code errors out...
rows, total_count, page_token = job_results.fetch_data( max_results=10, page_token=page_token )
for row in rows:
rownum += 1
print "Row number %d" % rownum
if page_token is None:
print 'end of batch.'
break
我应该从异步查询作业上的job_results.fetch_data(…)方法调用中得到什么具体的返回结果?