BigQuery "copy table" 不适用于小表

BigQuery "copy table" not working for small tables

我正在尝试使用 API 将 BigQuery table 从一个 table 复制到同一数据集中的另一个。 虽然复制大 tables 似乎工作得很好,但复制小 tables 的行数有限 (1-10) 我注意到目标 table 出来是空的(创建但0 行)。 我使用 API 和 BigQuery 管理控制台得到相同的结果。

我拥有的任何数据集中的任何 table 都存在该问题。看起来像是错误或设计的行为。

在文档中找不到任何 "minimum lines" 指令。我是不是遗漏了什么?

编辑: Screenshots

原始 table:video_content_events 有 2 行

复制table:copy111 0行

在同一数据集内或不同数据集上复制 table 没有最小记录限制。这适用于 API 和 BigQuery UI。我只是复制了你创建一个只有 2 条记录的新 table 的场景,我能够使用 UI.

成功地将 table 复制到另一个 table

Attaching screenshot

您如何填充小型 table?您是否正在使用流式插入(命令行工具中的 bq 插入,tabledata.insertAll 方法)?如果是这样,根据文档,数据最多可能需要 90 分钟才能成为 copyable/exportable:

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

我不会说得太详细,但原因是我们的复制和导出操作针对具体化文件进行了优化。我们的流缓冲区中的数据存储在一个完全不同的系统中,因此在缓冲区被刷新到传统存储机制之前不会被提取。也就是说,我们正在努力消除 copy/export 延迟。

如果您不使用流式插入来填充 table,那么一定要联系 support/file 一个错误 here

我试图复制到时间戳分区 table。我弄乱了时间戳和 1000 x 当前时间戳。猜猜它超出了 BigQuery 的最大分区范围。尽管复制作业成功,但实际上没有数据加载到目标 table。