【问题标题】:How long does bigquery steaming buffer persistbigquery 蒸汽缓冲区持续多长时间
【发布时间】:2020-03-21 17:48:30
【问题描述】:

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

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

最好的问候,

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    根据官方文档

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

    流式传输到分区表中

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

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

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

    【讨论】:

    • 非常感谢。是的,当我在 90 分钟后尝试删除操作并成功通过时,蒸汽缓冲区似乎只能持续长达 90 分钟。最好的问候,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2012-03-14
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多