google-bigquery - bigquery steaming buffer持续多久

标签 google-bigquery

我目前正在将数据从 sql server 数据库系统迁移到 bigquery,我在尝试从具有事件流缓冲区的 bigquery 表中删除记录时遇到了问题,你能确认流缓冲区在之前持续了多长时间吗?它被删除以便删除操作可以针对它运行?我发现这在开发过程中造成了不必要的不​​便。

非常感谢您的帮助,期待您的来信。

最好的问候,

最佳答案

根据官方文档

数据可能需要长达 90 分钟才能变为可用以进行复制和导出操作。此外,当流式传输到分区表时,流式缓冲区中的数据的 _PARTITIONTIME 伪列为 NULL 值。要查看数据是否可用于复制和导出,请检查名为 streamingBuffer 的部分的 tables.get 响应。如果该部分不存在,您的数据应该可用于复制或导出,并且 _PARTITIONTIME 伪列应该具有非空值。此外,可以利用 streamingBuffer.oldestEntryTime 字段来识别流缓冲区中记录的存在时间。

流式传输到分区表

数据流式处理时,将过去7天到 future 3天的数据放在流式缓冲区中,然后提取到相应的分区中。在此窗口之外(但在 1 年 6 个月范围内)的数据放在流式缓冲区中,然后提取到 UNPARTITIONED 分区。当有足够的未分区数据时,它被加载到相应的分区。

我们通过延迟删除请求或每 24 小时执行一次来克服您的情况。您现在可以编写删除查询的脚本,以使用 streamingBuffer.oldestEntryTime 作为参数,并尝试删除比该时间更早的任何内容。

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

关于google-bigquery - bigquery steaming buffer持续多久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59048726/

相关文章:

python - Pandas read_gbq 无法正常工作?

google-bigquery - BigQuery 中的自联接问题

go - Google BigQuery本地模拟

google-bigquery - 通过在没有导入/导出的情况下加入 Google BigQuery 上的 2 个表来删除/更新表条目

google-bigquery - Bigquery 命令行工具从文件中读取长查询字符串

google-bigquery - BigQuery 数据传输服务 - php 客户端库 - 并自动检查、回填 bigquery 数据传输?

sql - BigQuery 中的动态 TABLE_DATE_RANGE

python - 为 google bigquery 构建一个 docker 镜像

sql - bigquery 交叉查询最佳实践

batch-processing - BigQuery - 从 UI 提交时相同的查询有效,并从批处理报告 SQL 语法错误