マネージド I/O は、BigQuery の次の機能をサポートしています。
- ダイナミック テーブルの作成
- ダイナミック デスティネーション
- 読み取りの場合、コネクタは BigQuery Storage Read API を使用します。
書き込みの場合、コネクタは次の BigQuery メソッドを使用します。
- ソースが無制限で、Dataflow がストリーミングの 1 回限りの処理を使用している場合、コネクタは 1 回限りの配信セマンティクスで BigQuery Storage Write API を使用して BigQuery への書き込みを行います。
- ソースが無制限で、Dataflow がストリーミングの 1 回以上の処理を使用している場合、コネクタは 1 回以上の配信セマンティクスで BigQuery Storage Write API を使用して BigQuery への書き込みを行います。
- ソースが制限付きの場合、コネクタは BigQuery ファイルの読み込みを使用します。
要件
次の SDK は、BigQuery のマネージド I/O をサポートしています。
- Apache Beam SDK for Java バージョン 2.61.0 以降
- Apache Beam SDK for Python バージョン 2.61.0 以降
構成
BigQuery 向けマネージド I/O は、次の構成パラメータをサポートしています。
BIGQUERY 読み取り
| 構成 | 種類 | 説明 |
|---|---|---|
| kms_key |
str
|
この Cloud KMS 鍵を使用してデータを暗号化します。 |
| query |
str
|
BigQuery テーブルから読み取るために実行される SQL クエリ。 |
| row_restriction |
str
|
このフィルタに一致する行のみを読み取ります。フィルタは、Google 標準 SQL と互換性がある必要があります。クエリによる読み取りではサポートされていません。 |
| fields |
list[str]
|
BigQuery テーブルから指定されたフィールド(列)のみを読み取ります。フィールドは指定された順序で返されない場合があります。値が指定されていない場合は、すべての行が返されます。例: 「col1, col2, col3」 |
| table |
str
|
読み取り元の BigQuery テーブルの完全修飾名。形式: [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY 書き込み
| 構成 | 種類 | 説明 |
|---|---|---|
| table |
str
|
書き込み先の BigQuery テーブル。形式: [${PROJECT}:]${DATASET}.${TABLE} |
| drop |
list[str]
|
書き込む前に入力レコードから削除するフィールド名のリスト。「keep」および「only」とは相互に排他的です。 |
| keep |
list[str]
|
入力レコードで保持するフィールド名のリスト。他のフィールドはすべて書き込み前に削除されます。「drop」および「only」とは相互に排他的です。 |
| kms_key |
str
|
この Cloud KMS 鍵を使用してデータを暗号化します。 |
| only |
str
|
書き込まれる単一のレコード フィールドの名前。「keep」および「drop」とは相互に排他的です。 |
| triggering_frequency_seconds |
int64
|
BigQuery に進行状況を「commit」する頻度を決定します。デフォルトは 5 秒ごとです。 |
次のステップ
コード例などの詳細については、次のトピックをご覧ください。