將 BigQuery 資料表分區及分群

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

資料表分區

資料表分區功能可將資料表劃分為多個區段 (稱為分區),方便您管理及查詢資料。您可以指定分區資料欄,將資料表分區。

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

  • 依擷取時間分區:您可以根據 Datastream 將資料擷取至 BigQuery 的時間,將資料表分區。您可以選擇按小時、日、月或年設定擷取時間分區。預設精細程度為「每日」。

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

    視來源資料欄對應的 BigQuery 資料類型而定,您可以選取下列其中一種精細度類型:

    • DAYMONTHYEAR:適用於 DATE 資料型別。
    • HOURDAYMONTHYEAR:適用於 DATETIMETIMESTAMP 資料型別。

  • 依整數範圍分區:您可以依來源資料欄將資料表分區,而 Datastream 會將來源資料欄的資料類型對應至 BigQuery INTEGER 資料類型。請提供下列資訊:

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

    詳情請參閱整數範圍分區

如要瞭解如何設定串流的分區,請參閱「設定串流的來源資料庫相關資訊」。

資料表叢集

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

您最多可依據四個資料欄,將 BigQuery 資料表叢集化。指定資料欄的順序會決定資料的排序方式。

您可以根據資料來源資料欄叢集資料表,而 Datastream 會將該資料欄對應至下列其中一種 BigQuery 資料類型:

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

如要瞭解 Datastream 如何將來源資料類型對應至 BigQuery 資料類型,請參閱「BigQuery 中的資料類型對應」。

如要瞭解如何為串流設定叢集,請參閱「設定串流的來源資料庫相關資訊」。

限制

  • 如要瞭解 BigQuery 的分區限制,請參閱「分區資料表簡介」。

  • 如要瞭解 BigQuery 的叢集限制,請參閱叢集資料表簡介

  • 如要瞭解 BigQuery 分區資料表的配額限制,請參閱「配額與限制」。

  • 此外,使用 Datastream 時,還須遵守下列限制:

    • 只有在 Datastream 建立新的 BigQuery 資料表時,才會套用分區和分群設定。如要為現有資料表設定或修改分割和叢集設定,請先從 BigQuery 刪除該資料表,然後在 Datastream 中設定或修改其設定。
    • 如果是 MongoDB 來源,您只能依擷取時間分區資料表。
    • MongoDB 資料庫不支援叢集功能。

後續步驟