【问题标题】:Old rows left unpartitioned in partitioned table分区表中未分区的旧行
【发布时间】:2019-01-09 10:08:53
【问题描述】:

我正在使用 BigQuery 分区表。分区基于数据中的Timestamp 列(而不是基于摄取)。我们以每天数百万行的速度将数据流式传输到此表中。

我们注意到,我们基于特定日期的查询扫描的数据比分区表中的数据要多。

这是 UNPARTITIONED 分区的当前状态:

我假设右下角的小光点是正常的(今天早上插入的行的流缓冲区),但是在 11 月中旬和 12 月初之间有大量数据块存在于 UNPARTITIONED 分区中,而不是被发送到正确的每日分区(那个时期的分区在__PARTITIONS_SUMMARY__ 中似乎根本不存在)。

我的两个问题是:

  • 这些行没有被正确分区,而这段时间之前和之后的数据都很好,是否有特殊原因?

  • 有没有办法“刷新” UNPARTITIONED 分区,即强制 BigQuery 将行分派到正确的每日分区?

【问题讨论】:

  • 调试:您是否尝试重新创建表?这解决了吗?如果这是一个错误 - 请尝试使用问题跟踪器进行跟进。
  • 您找到问题的答案了吗?我面临一个类似的问题,即数据长期存在于 UNPARTITIONED 分区中。这些数据何时移动到相应的分区是否有时间限制,还是会无限等待大小超过阈值才能移动?
  • @SudarshanMurthy 遗憾的是,我当时发现的唯一解决方法是遵循 Felipe 的建议,将表格复制到一个新表格——这完全解决了我的问题。

标签: google-bigquery


【解决方案1】:

我遇到了类似类型的问题,在基于列的分区表中,很多行未分区。所以,我观察到一些记录由于流插入的来源而没有分区。对于灵魂,我使用更新更新表并设置分区日期,其中分区列日期为空。为了更安全,请确保分区日期列不应为空。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多