Pandas gbq 加载 - to_gbq 超时异常

Posted

技术标签:

【中文标题】Pandas gbq 加载 - to_gbq 超时异常【英文标题】:Pandas gbq load - to_gbq timeout exception 【发布时间】:2015-02-14 00:55:19 【问题描述】:

任何人都知道这个错误的线索:

u'kind': u'bigquery#tableDataInsertAllResponse', u'insertErrors': [u'index': 90, u'errors': [u'reason': u'timeout'],

我正在尝试执行:

from pandas.io import gbq

df.to_gbq(tablename, project_id=projectid)

df - 是一个有几百万行的数据框。

谢谢。

【问题讨论】:

我对 bigquery 没有任何经验,但您可以尝试更改 to_gbq() 中的块大小参数。默认值为 10k。 pandas.pydata.org/pandas-docs/stable/generated/… 【参考方案1】:

BigQuery 支持批量插入部分成功。从回复来看,第 90 行似乎未能插入,原因是“超时”。有关响应的描述,请参阅https://cloud.google.com/bigquery/streaming-data-into-bigquery#troubleshooting 的“成功 HTTP 响应代码”。

如果您使用的是插入 ID,您可以简单地重试失败的行,或者根据需要重试完整的请求(尽管每个重试的行都将计入您的表配额)。重试应遵循指数回退模式。

【讨论】:

以上是关于Pandas gbq 加载 - to_gbq 超时异常的主要内容,如果未能解决你的问题,请参考以下文章

to_gbq 时间戳 - InvalidSchema

Pandas 到 GBQ 方法返回 GenericGBQException:原因 404 POST

有效地将Pandas数据帧写入Google BigQuery

拒绝 BigQuery 对现有数据的数据加载尝试

to_gbq() 得到了一个意外的关键字参数“位置”

将数据框从 Python 加载到 BigQuery:拒绝访问