2015-01-07 60 views
3

自从我有机会参与熊猫GBQ模块的工作已经有一段时间了,但我注意到我们的一个回归测试失败了。Google BigQuery请求太大

测试中的问题是:

https://github.com/pydata/pandas/blob/master/pandas/io/tests/test_gbq.py#L254-L267

总之,测试试图创建与5列的表(类型为布尔型,浮点,字符串,整数,时间戳),并且每个1000001行。以10,000行的块形式插入这些行失败,并显示“Request Too Large”的响应。

我觉得这可能与Getting "Query too large" in BigQuery有类似的答案 - 但看到这个测试是如何工作的,我想知道是否有需要解决的后端问题。当我不在寻找时,API也可能发生改变!

TLDR版本:我们的插入过大,我们可以参考的文档限制是什么?

+0

什么是您尝试插入的数据的大概字节大小? (每块?) – Jabberwockey

回答

3

的记录的限制在这里:

https://cloud.google.com/bigquery/streaming-data-into-bigquery#quota

的TL; DR答案:虽然BQ不严格执行每500行要求的最大行/插入,此时,还有一些其他的限制API堆栈中与整体请求大小相关的其他地方阻止了调用的成功。

+0

是的 - 熊猫使用Big Query API进行流媒体上传,甚至提到你可以根据大小获取错误:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io .gbq.to_gbq.html?highlight = gbq#pandas.io.gbq.to_gbq – Jabberwockey

+0

我们了解编写原始GBQ库和相应文档时的限制。这似乎很奇怪,以前通过的测试会突然出现问题。我一次特别关注这500行/插入。有趣的是,今天再次尝试它(至少在一个好的月份里第一次)。我想知道是否有更正。 –