您可能需要將 BigQuery 資料表分割為多個小區段,以提升查詢效能並控制成本。由於 Datastream 不支援 BigQuery 中的分區資料表,因此您必須先手動新增分區,才能啟動串流。如需 BigQuery 中分區的一般資訊,請參閱「分區資料表簡介」。
BigQuery 中的分區資料表
如要在 BigQuery 中將資料表分區,請視您的用途,使用下列各節所述的其中一個選項。
方法 1:BigQuery 中已有這個資料表,且該資料表已納入資料串流
- 從串流的來源設定中排除該資料表。如要進一步瞭解如何從來源設定中納入及排除物件,請參閱「設定來源資料庫」。
- 請稍候幾分鐘,確保 Datastream 已完成處理資料表的所有事件。
- 在 BigQuery 中建立分區資料表。 如要保留原始 BigQuery 資料表中的資料,請為資料表指定其他暫時名稱。
- 將原始資料表中的資料複製到新的分區資料表。
- 捨棄或重新命名原始資料表。
- 將新資料表的暫時名稱改為原始資料表的名稱。
- 將來源資料表新增至串流的設定。
選項 2:BigQuery 中沒有這個資料表
使用下列其中一種方法,在 BigQuery 中建立資料表:
- 使用 BigQuery 遷移工具包。
手動建立與 Datastream 相容的 BigQuery 資料表。舉例來說,如要建立資料表並根據
TIMESTAMP欄位分割資料,可以使用類似下列的查詢:CREATE TABLE dataset.partitioned_table ( 'id' INT64, 'name' STRING 'update_date' DATETIME, 'datastream_metadata' STRUCT<'uuid' STRING, 'source_timestamp' INT64>, PRIMARY KEY ('id') NOT ENFORCED ) PARTITION BY TIMESTAMP(update_date)
建立分區資料表後,請確認其
max_staleness值是否已根據您的需求設定。如果您沒有設定值,系統會設定0的預設值。將這個值設為0可確保資料最新,但會產生高額費用。如要瞭解如何找出資料表的最佳值,請參閱「使用max_staleness選項搭配 BigQuery 資料表」。(選用) 如果您已為串流設定手動補充作業,請啟動資料表的補充作業。