如何检查 BigQuery 查询结果何时返回零记录?

Kau*_*ole 2 python jobs python-2.7 google-bigquery google-cloud-platform

我在 python 中有一个客户端 API,它执行 BigQuery 作业以触发查询并将查询结果写入相应的 BigQuery 表。如何确定该查询结果在任何执行时是否返回零记录?

蟒蛇代码:

def main(request):

    query = "select * from `myproject.mydataset.mytable`"
    client = bigquery.Client()
    job_config = bigquery.QueryJobConfig()
    dest_dataset = client.dataset(destination_dataset, destination_project)
    dest_table = dest_dataset.table(destination_table)
    job_config.destination = dest_table
    job_config.create_disposition = 'CREATE_IF_NEEDED'
    job_config.write_disposition = 'WRITE_APPEND'
    job = client.query(query, location='US', job_config=job_config)
    job.result()
Run Code Online (Sandbox Code Playgroud)

我想要如果查询结果没有记录,那么它应该为我打印一些消息。任何人都可以建议如何完成这项工作。

Tra*_*ebb 7

QueryJob.result()返回 a RowIterator,它有一个名为 的属性total_rows

所以,像这样:

result = job.result()
if result.total_rows == 0:
  print('no results')
Run Code Online (Sandbox Code Playgroud)

根据@Dom Zippilli 的评论更新:。total_rows就是你要找的。