為 BigQuery 目的地設定分割和分群

為 BigQuery 目的地設定分區和叢集,即可提高查詢效能並控管費用。分區和叢集可以減少 BigQuery 在查詢執行期間需要掃描的資料量。

資料表分區

表格分區將表分成稱為分區的多個部分,從而更容易管理和查詢資料。您可以透過指定分區列來對資料表進行分區,分區列用於對表進行分段。

Datastream 支援 BigQuery 表的三種分割區類型:

  • 按攝取時間分區: 您可以根據 Datastream 將資料擷取到 BigQuery 的時間對錶進行分區。您可以選擇以每小時、每天、每月或每年為單位,劃分擷取時間。預設粒度為每日。

  • 依時間單位進行資料分割:您可以根據資料來源的資料欄分割資料表,Datastream 會將資料欄對應至下列其中一種 BigQuery 資料型別:DATEDATETIMETIMESTAMP。如要瞭解 Datastream 如何將來源資料類型對應至 BigQuery 資料類型,請參閱 BigQuery 中的資料類型對應

    根據來源列對應的 BigQuery 資料類型,您可以選擇以下粒度類型之一:

    • DAY, MONTH, YEAR: 用於 DATE 資料型態。
    • HOURDAYMONTHYEAR:適用於 DATETIMETIMESTAMP 資料型別。

  • 以整數範圍分割區:您可以按資料來源列對資料表進行分割區,Datastream 接著將該資料來源資料列對應到 BigQuery INTEGER 資料類型。您需要提供以下資訊:

    • 起始: 第一個分割區範圍(包含)的起始值。
    • End: 最後一個分區範圍的結束值(不含結束值)。
    • 區間: 每個分區範圍的寬度。

    有關更多信息,請參閱整數範圍分區

如要進一步瞭解 BigQuery 中的分區,請參閱分區資料表簡介管理分區資料表

表格聚類

叢集處理會根據叢集資料欄的值排序資料表中的資料,並將值相似的資料並置。如果查詢只依叢集資料欄篩選,則只會掃描相關資料區塊,而非整個資料表或資料表分區。這有助於提升查詢效能並降低查詢成本。

您最多可以以四列對 BigQuery 表進行聚類。列的指定順序決定了資料的排序順序。

您可以根據資料來源列對資料表進行聚類,該資料來源列的資料類型必須與 Datastream 對應到下列 BigQuery 資料類型之一:

  • BIGNUMERIC
  • BOOLEAN
  • DATE
  • DATETIME
  • GEOGRAPHY
  • INT64
  • NUMERIC
  • RANGE
  • STRING
  • TIMESTAMP

有關 Datastream 如何將來源資料類型對應到 BigQuery 資料類型的信息,請參閱 BigQuery 中的資料類型對應

有關 BigQuery 中聚類的更多信息,請參閱 聚類表簡介管理聚類表

限制

  • 有關 BigQuery 中的分區限制,請參閱 分區表簡介

  • 有關 BigQuery 中聚類的限制,請參閱 聚類表簡介

  • 有關適用於 BigQuery 分區表的配額限制,請參閱 配額和限制

  • 此外,使用 Datastream 時還有以下限制:

    • 只有在 Datastream 建立新的 BigQuery 資料表時,才會套用分區和分群設定。如果要為已存在的表配置或修改分割區和叢集設置,請先從 BigQuery 中刪除該表,然後在 Datastream 中配置或修改其設定。
    • 對於 MongoDB 資料來源,您可以僅按攝取時間對資料表進行分割。
    • MongoDB 資料庫不支援叢集。

後續步驟