我目前正在将数据从sql server数据库系统迁移到bigquery,并且在尝试从具有活动流缓冲区的bigquery表中删除记录时遇到了问题,您能否确认流缓冲区在被删除之前会持续多长时间那么删除操作可以运行吗?我发现这给开发过程带来了不必要的不便。
非常感谢您的帮助,期待您的来信。
此致,
根据官方文档
数据最多可能需要90 分钟后可用用于复制和导出操作。此外,当流式传输到分区表时,流式缓冲区中的数据的 _PARTITIONTIME 伪列具有 NULL 值。要查看数据是否可用于复制和导出,请检查tables.get响应中名为的部分streamingBuffer
。如果该部分不存在,则您的数据应该可用于复制或导出,并且 _PARTITIONTIME 伪列应该具有非空值。此外,streamingBuffer.oldestEntryTime
可以利用字段来识别流缓冲区中记录的年龄。
流式传输到分区表
流式传输数据时,将过去7天到未来3天的数据放入流式缓冲区中,然后提取到相应的分区。在此窗口之外(但在 1 年 6 个月范围内)的数据将放置在流缓冲区中,然后将其提取到 UNPARTITIONED 分区。当有足够的未分区数据时,将其加载到相应的分区。
我们通过延迟删除请求或每 24 小时执行一次来解决您的情况。您现在可以编写删除查询脚本以使用streamingBuffer.oldestEntryTime
作为参数,并尝试删除任何早于该参数的内容。
https://cloud.google.com/bigquery/streaming-data-into-bigquery
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)