Google bigquery BigQuery";复制表格“;不为小桌子工作

Google bigquery BigQuery";复制表格“;不为小桌子工作,google-bigquery,Google Bigquery,我试图使用API将BigQuery表从同一数据集中的一个表复制到另一个表。 虽然复制大表似乎工作得很好,但复制行数有限(1-10)的小表时,我注意到目标表是空的(创建了0行)。 我使用API和BigQuery管理控制台获得相同的结果 对于我拥有的任何数据集中的任何表,都会复制该问题。看起来像一个bug或一个设计的行为 在文档中找不到任何“最小行”指令。。我错过什么了吗 编辑: 原始表:包含2行的视频内容事件 复制表:copy111,0行在同一数据集中或在不同数据集中复制表没有最低记录限制。这适

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

对于我拥有的任何数据集中的任何表,都会复制该问题。看起来像一个bug或一个设计的行为

在文档中找不到任何“最小行”指令。。我错过什么了吗

编辑:

原始表:包含2行的视频内容事件


复制表:copy111,0行

在同一数据集中或在不同数据集中复制表没有最低记录限制。这适用于API和BigQueryUI。我刚刚复制了您创建一个只有2条记录的新表的场景,并且我能够使用UI成功地将该表复制到另一个表中


您是如何填充这些小表格的?您是否可能正在使用流式插入(来自命令行工具tabledata.insertAll方法的bq插入)?如果是这样,根据文档,数据最多需要90分钟才能被复制/导出:

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


如果您没有使用streaming insert来填充表,那么一定要联系支持人员/提交一个bug。

我试图复制到一个时间戳分区表。我把时间戳弄乱了,还有1000倍的当前时间戳。估计它超出了BigQuery的最大分区范围。尽管复制作业成功,但实际上没有数据加载到目标表。

用我的屏幕截图更新了我的问题。。。我看到你的后又试了一次。。仍然不起作用:\n您是否尝试过向谷歌申请支持并请求他们的帮助?在我看来不是指定的行为。我正在使用API中的tabledata.insertAll方法。。。这解释了很多。我现在试着在两行的桌子在晚上没有被碰过之后,它确实像预期的那样复制了它。这是否意味着,如果我有一个大表(1m行),并且在副本运行之前插入了一行,那么最后一行将不会包含在新表中?是的。最后一行不会被复制。您可以(以查询为代价)在目标表中“选择*”(确保允许大的结果并禁用展平),这将包含所有内容—流数据对查询和tabledata.list完全可见。否则,根据文档,执行tables.get(每隔几分钟一次),直到“streamingBuffer”部分消失(最多90分钟),此时copy应获取所有行。此延迟是否仍然存在?今天,我们向另一个数据集进行了一次复制(覆盖),基本上,一些表在此复制后(在目标数据集中)变为空