【问题标题】:BigQuery - insert row larger than 1MBBigQuery - 插入大于 1MB 的行
【发布时间】:2020-03-09 13:26:28
【问题描述】:

我的 Python 应用正在 BigQuery 中存储结果数据。在代码中,我正在生成反映目标 BQ 表结构的 JSON,然后将其插入。
通常它工作正常,但无法保存大小超过 1 MB 的行。这是使用流式插入的限制。
我查看了 Google API 文档:https://googleapis.dev/python/bigquery/latest/index.html
看来,insert_rowsinsert_rows_json 之类的 Client 方法在下面使用 insertAll 方法 - 它使用流式机制。
有没有办法从 python 代码调用“标准”BigQuery 插入以插入大于 1MB 的行?这将是相当罕见的情况,所以我不关心有关每日表插入计数限制的配额。

【问题讨论】:

    标签: python google-bigquery


    【解决方案1】:

    客户端库不能绕过 API 限制。 请参阅current quotas,截至本文撰写时的一行不能大于 1MB。

    我们使用的解决方法是将 NJSON 中的记录以 100MB 批量保存到 GCS - 我们使用 gcsfs 库 - 然后执行 bq.load() 作业。

    我实际上刚刚记录了一个功能请求here 以增加限制,因为这是非常有限的。如果有兴趣,请务必给它“加注星标”以获得吸引力。

    【讨论】:

      猜你喜欢
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多