如何使用BigQuery客户机从异步查询获取查询结果的头?

2024-04-26 07:15:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用用于Pythonhere的Google云客户端库对BigQuery进行SQL查询。我希望能够将查询结果写入csv文件,该文件还包括查询结果头。在

我使用下面的代码片段进行异步查询:

job = bigquery_client.run_async_query(job_name, sql_query)
query_results = job.result()
data = query_results.fetch_data() # returns an iterator to the query result data, this is successful
schema = query_results.schema # returns ()
print(schema)

我能够检索到查询结果数据。我提取查询结果头的计划是首先获取查询结果表的模式。然而,{cd2>试图返回一个空的^元组。在this documentation中,提到模式是None until set by server。如何触发服务器正确设置架构?在

谢谢你的帮助。在

注意:如果查询是同步的,那么获取query_result.schema没有问题。在


Tags: 文件客户端sqldataschemagoogle模式job
1条回答
网友
1楼 · 发布于 2024-04-26 07:15:44

好吧,我找到了一个方法。显然,我需要重新加载异步查询作业的目标表。在

destination_table = query_job.destination
destination_table.reload()
schema = destination_table.schema # schema is reloaded correctly!

谢谢。在

相关问题 更多 >