gpt4 book ai didi

python - (BigQuery PY Client Library v0.28) - 从表 'query' 作业中获取结果

转载 作者:行者123 更新时间:2023-11-28 17:09:19 26 4
gpt4 key购买 nike

我正在使用 Python 客户端库 v0.28 学习 BigQuery API https://googlecloudplatform.github.io/google-cloud-python/latest/bigquery/usage.html#run-a-simple-query

编写了这段简单的代码来从表中获取数据

1) 创建客户端对象

client_ = bigquery.Client.from_service_account_json('/Users/xyz/key.json')

2) 开始新的异步查询作业

QUERY =  'SELECT visitid FROM `1234567.ga_sessions_20180101`'
query_job = client_.query(QUERY
, job_id=str(uuid.uuid4()))

3) 轮询直到查询完成

while (query_job.state == 'RUNNING'):
time.sleep(5)
query_job.reload()

4) 迭代获取结果

query_job.reload()        
iter = query_job.result()

在这个阶段,我想获取表中有多少行。根据文档 GitHub 代码 iter 属于 bigquery.table.RowIterator 类型,具有属性 [tier.total_rows][1]

5) 但是,在我打印的这个阶段:

print(iter.total_rows)

它一直返回None

我很确定这张表不是空的,干查询的格式正确!

对我在这里遗漏的任何指示的任何帮助都会非常有帮助...非常感谢!

干杯!

最佳答案

您还需要检查 query_job.error_result 以确保查询成功。

您还可以在 UI 中查看您的作业,这对于调试很有用,使用项目 ID 和作业 ID:

https://bigquery.cloud.google.com/results/projectid:jobid

此外,query_job.result() 已经在等待作业完成,因此您无需轮询。

关于python - (BigQuery PY Client Library v0.28) - 从表 'query' 作业中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48799898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com