為 BigQuery 目的地設定分區和叢集,即可提高查詢效能並控管費用。分區和叢集可以減少 BigQuery 在查詢執行期間需要掃描的資料量。
資料表分區
表格分區將表分成稱為分區的多個部分,從而更容易管理和查詢資料。您可以透過指定分區列來對資料表進行分區,分區列用於對表進行分段。
Datastream 支援 BigQuery 表的三種分割區類型:
按攝取時間分區: 您可以根據 Datastream 將資料擷取到 BigQuery 的時間對錶進行分區。您可以選擇以每小時、每天、每月或每年為單位,劃分擷取時間。預設粒度為每日。
依時間單位進行資料分割:您可以根據資料來源的資料欄分割資料表,Datastream 會將資料欄對應至下列其中一種 BigQuery 資料型別:
DATE、DATETIME或TIMESTAMP。如要瞭解 Datastream 如何將來源資料類型對應至 BigQuery 資料類型,請參閱 BigQuery 中的資料類型對應。根據來源列對應的 BigQuery 資料類型,您可以選擇以下粒度類型之一:
DAY,MONTH,YEAR: 用於DATE資料型態。HOUR、DAY、MONTH、YEAR:適用於DATETIME和TIMESTAMP資料型別。
以整數範圍分割區:您可以按資料來源列對資料表進行分割區,Datastream 接著將該資料來源資料列對應到 BigQuery
INTEGER資料類型。您需要提供以下資訊:- 起始: 第一個分割區範圍(包含)的起始值。
- End: 最後一個分區範圍的結束值(不含結束值)。
- 區間: 每個分區範圍的寬度。
有關更多信息,請參閱整數範圍分區。
如要進一步瞭解 BigQuery 中的分區,請參閱分區資料表簡介和管理分區資料表。
表格聚類
叢集處理會根據叢集資料欄的值排序資料表中的資料,並將值相似的資料並置。如果查詢只依叢集資料欄篩選,則只會掃描相關資料區塊,而非整個資料表或資料表分區。這有助於提升查詢效能並降低查詢成本。
您最多可以以四列對 BigQuery 表進行聚類。列的指定順序決定了資料的排序順序。
您可以根據資料來源列對資料表進行聚類,該資料來源列的資料類型必須與 Datastream 對應到下列 BigQuery 資料類型之一:
BIGNUMERICBOOLEANDATEDATETIMEGEOGRAPHYINT64NUMERICRANGESTRINGTIMESTAMP
有關 Datastream 如何將來源資料類型對應到 BigQuery 資料類型的信息,請參閱 BigQuery 中的資料類型對應。
有關 BigQuery 中聚類的更多信息,請參閱 聚類表簡介 和 管理聚類表。
限制
有關 BigQuery 中的分區限制,請參閱 分區表簡介。
有關 BigQuery 中聚類的限制,請參閱 聚類表簡介。
有關適用於 BigQuery 分區表的配額限制,請參閱 配額和限制。
此外,使用 Datastream 時還有以下限制:
- 只有在 Datastream 建立新的 BigQuery 資料表時,才會套用分區和分群設定。如果要為已存在的表配置或修改分割區和叢集設置,請先從 BigQuery 中刪除該表,然後在 Datastream 中配置或修改其設定。
- 對於 MongoDB 資料來源,您可以僅按攝取時間對資料表進行分割。
- MongoDB 資料庫不支援叢集。
後續步驟
- 要瞭解有關流的更多信息,請參閱 流生命週期。
- 若要瞭解如何建立流,請參閱建立流。
- 要瞭解有關 BigQuery 的更多信息,請參閱 BigQuery 目標。