我正在尝试使用API将BigQuery表从一个表复制到同一数据集中的另一个表。 复制大表似乎工作得很好,复制行数有限的小表(1-10)我注意到目标表是空的(创建但是0行)。 我使用API和BigQuery管理控制台获得了相同的结果。
我的任何数据集中的任何表都会复制该问题。看起来像一个错误或设计的行为。
找不到任何"最小行"文档中的指令..我错过了什么吗?
编辑: Screenshots
原始表格:包含2行的video_content_events
复制表:带有0行的copy111
答案 0 :(得分:3)
你如何填充小桌子?您是否使用流式插入(从命令行工具bq插入,tabledata.insertAll方法)?如果是这样,根据文档,数据最多可能需要90分钟才能复制/导出:
https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataavailability
我不会过于详细,但原因是我们的复制和导出操作已经过优化,可以处理物化文件。我们的流式缓冲区中的数据存储在完全不同的系统中,因此在将缓冲区刷新到传统存储机制之前不会被拾取。也就是说,我们正在努力消除复制/导出延迟。
如果您没有使用流式插入来填充表格,那么请务必联系支持/提交错误here。
答案 1 :(得分:1)
在同一数据集或不同数据集中复制表没有最小记录限制。这适用于API和BigQuery UI。我只是复制了你创建一个只有2条记录的新表的场景,并且我能够使用UI成功地将表复制到另一个表。
答案 2 :(得分:0)
我试图复制到时间戳分区表。我弄乱了时间戳,以及1000 x当前时间戳。猜猜它超出了BigQuery的最大分区范围。尽管复制作业成功,但实际上没有数据加载到目标表中。