【发布时间】:2017-05-20 12:41:49
【问题描述】:
根据https://cloud.google.com/bigquery/querying-data#asynchronous-queries 列出的 BigQuery 文档:
通过 BigQuery API 进行的查询有两种类型。同步和异步。使用提供的示例代码,异步对我来说非常适合,但同步不能。
如果您单击上面的链接,则会显示我所指的示例代码。我注意到的是,它实际上并没有等到结果可用。如果我在while True 之前插入time.sleep(15),我的结果将按预期返回。如果不是,则返回一个空结果集。
官方文档示例使用查询:
"""SELECT word, word_count
FROM `bigquery-public-data.samples.shakespeare`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC;
"""
此查询返回非常快,但是我的查询需要几秒钟才能返回结果。
我的问题是,如果实际上无法访问结果并且没有返回任何结果,为什么文档说明run_sync_query 命令要等到查询完成?
我无法提供我使用的查询,因为它是私有数据源。要生成,您只需要运行几秒钟的查询即可。
【问题讨论】:
标签: google-bigquery