Google BigQuery API 强制 MaxResult

Posted

技术标签:

【中文标题】Google BigQuery API 强制 MaxResult【英文标题】:Google BigQuery API force MaxResult 【发布时间】:2018-06-25 14:55:24 【问题描述】:

我正在尝试对 BigQuery 表运行查询并将结果存储在本地。

getQueryResults API 有maxResult 参数。这表示我可以指定要获取的最大行数。但是,即使将其指定为 10,000,它也只会以随机方式获取几行。

如果我将其指定为较小的数字,即 10,那么它工作得非常好。

有没有办法强制获取 10,000 行?

https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/getQueryResults

【问题讨论】:

【参考方案1】:

getQueryResults 在响应中最多返回maxResult 行。如果它返回的行数较少,您需要将响应中返回的pageToken 传递给另一个getQueryResults 调用,以便从服务器获取下一页行。

client libraries 实现分页,这样你就不需要自己做这个了

【讨论】:

谢谢。有什么办法让我得到所有的pageTokens?因为顺序运行会花费太多时间。考虑使用线程进行并行调用。 不,您需要迭代地获取页面。

以上是关于Google BigQuery API 强制 MaxResult的主要内容,如果未能解决你的问题,请参考以下文章

无法导入 com.google.api.services.bigquery.model.TableCell [重复]

Google Spark-BigQuery-Connector如何利用BigQuery Storage API?

如何使用 google-api-python-client 设置 BigQuery 配置属性?

Google BigQuery 和 Google API 客户端包

如何使用API 而不是使用Google BigQuery数据传输服务?

使用 google bigquery API 时避免 DefaultCredentialsError