允许谷歌大查询中的大结果
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.
错误消息。以上是关于允许谷歌大查询中的大结果的主要内容,如果未能解决你的问题,请参考以下文章