受管理 I/O 支援 BigQuery 的下列功能:
- 建立動態資料表
- 動態目的地
- 讀取資料時,連接器會使用 BigQuery Storage Read API。
寫入時,連接器會使用下列 BigQuery 方法:
- 如果來源是無界限,且 Dataflow 使用串流精確一次處理,連接器會使用BigQuery Storage Write API 搭配精確一次傳送語意,將資料寫入 BigQuery。
- 如果來源是無界限,且 Dataflow 使用串流至少一次處理,連接器會使用BigQuery Storage Write API 執行寫入 BigQuery 作業,並採用至少一次傳送語意。
- 如果來源有界限,連接器會使用 BigQuery 檔案載入。
需求條件
下列 SDK 支援 BigQuery 的代管 I/O:
- Java 適用的 Apache Beam SDK 2.61.0 以上版本
- Python 適用的 Apache Beam SDK 2.61.0 以上版本
設定
讀取及寫入設定 | 資料類型 | 說明 |
---|---|---|
table |
字串 | 要讀取或寫入的 BigQuery 資料表。格式為 "PROJECT.DATASET.TABLE" 。示例:
"my_project.dataset1.table1" 。 |
kms_key |
字串 | 指定 Cloud Key Management Service (Cloud KMS) 金鑰,在寫入時加密 BigQuery 資料表,或加密讀取期間建立的任何臨時資料表。 |
讀取設定 | 資料類型 | 說明 |
fields |
字串清單 | 要從資料表讀取的資料欄清單。如果資料表包含許多欄,這個參數可讓讀取作業更有效率。 |
query |
字串 | 用於讀取資料的 SQL 查詢。如果指定,連接器會在 BigQuery 上執行查詢,並讀取查詢結果。 |
row_restriction |
字串 | 在伺服器端篩選資料的述詞。示例:
"age > 18" 。 |
撰寫設定 | 資料類型 | 說明 |
triggering_frequency |
整數 | 如果是無界限來源,則指定觸發檔案寫入的頻率 (以秒為單位)。 |
如要讀取資料,必須指定 table
或 query
。如為寫入作業,您必須指定 table
。
如需詳細資訊,請參閱下列主題: