允许谷歌大查询中的大结果

Posted

技术标签:

【中文标题】允许谷歌大查询中的大结果【英文标题】:Allow large results in google big query 【发布时间】:2016-12-09 16:13:06 【问题描述】:

我正在尝试从具有 300 万条记录的 bigquery 表中下载数据。我收到错误

 "response too large to return, try will allow_large_results = true"

我尝试了以下命令:

  df = bq.Query('SELECT * FROM [Test.results]', allow_large_results = True).to_dataframe()

任何帮助将不胜感激。

【问题讨论】:

虽然很老:也许this 会有所帮助。 【参考方案1】:

检索预期大于~128MB 的查询结果的方法是使用目标表发出query insert job api 并允许大结果标志。结果存储在该表中后,您可以使用tabledata.list 作业检索它。当然,您可以删除该 [中间] 表 希望您能识别您正在使用的客户端中的相应语法

【讨论】:

【参考方案2】:

这已经很老了,但是对于那些登陆这里的人来说,这样做的方法是:

from google.cloud import bigquery

...

client = bigquery.Client()
job_config = bigquery.job.QueryJobConfig(allow_large_results=True)

q = client.query("""SELECT * FROM [Test.results]""", job_config=job_config)
r = q.result()

df = r.to_dataframe()

来自文档here。

【讨论】:

我认为这实际上不适用于大结果 - 我仍然看到:Response too large to return. Consider setting allowLargeResults to true in your job configuration. 错误消息。

以上是关于允许谷歌大查询中的大结果的主要内容,如果未能解决你的问题,请参考以下文章

关于数据框中的日期时间与谷歌大查询中的日期时间的问题

如果谷歌电子表格的同一列中的值重复,如何突出显示单元格?

计算谷歌大查询中的每周留存率

BigRQuery 如何更新谷歌大查询表中的列?

左连接以填充谷歌大查询中 2 个表中的数据

谷歌大查询或任何数据库中的分区视图(联合所有视图)