本ページでは、CDCデータ転送における転送先 - Google BigQueryについて説明します。
接続に関する設定については、Google BigQuery接続情報を参照ください。
事前準備
Google Cloud Projectの準備
事前にGoogle Cloud Projectを作成し、BigQuery APIを有効化する必要があります。
一時テーブルへの書き込みはBigQuery Storage Write API、マージ処理は通常のジョブとしての課金対象です。詳しくはBigQueryの料金 - Google Cloudを参照ください。
サービスアカウントの設定
CDCデータ転送では、サービスアカウント認証と個人のGoogleアカウント認証に対応しています。
サービスアカウントの発行手順については、Google BigQuery接続情報を参照ください。
必要な権限は以下のとおりです。
- BigQueryへのデータ読み書き権限
bigquery.datasets.createbigquery.datasets.getbigquery.jobs.createbigquery.tables.createbigquery.tables.deletebigquery.tables.exportbigquery.tables.getbigquery.tables.getDatabigquery.tables.listbigquery.tables.updatebigquery.tables.updateData
CDCデータ転送では、最大で50件のBigQueryクエリが同時に実行されます。
BigQuery側のデフォルト設定で許可されているクエリの同時実行数はプロジェクトあたり100件となっているため、他のアプリケーションやジョブが同じプロジェクトでクエリを実行している場合は、制限に達する可能性があります。
制限に到達した場合は、割り当ての表示と管理 - Google Cloudを参照し、割り当ての調整リクエストを検討してください。
設定項目
STEP1 詳細設定
| 項目 | 必須 | デフォルト値 | 内容 |
|---|---|---|---|
| 追加されたテーブル・カラムの追従設定 | No | カラムのみを自動追従(推奨) | 追加されたテーブル・カラムを転送先のテーブルに自動で追従するかを選択できます。詳しくは、CDCスキーマ自動追従を参照ください。 |
| バックフィル設定 | No | 有効(推奨) | テーブル・カラムの自動追従において、ジョブ実行時に追加や変更があったテーブルの全件転送を行うかどうかを設定します。詳しくは、CDCスキーマ自動追従を参照ください。 |
| テーブル連続失敗回数上限 | No | 5 | テーブルの同期が連続して失敗した際に、該当テーブルの同期を停止するまでの失敗回数を設定します。 停止した場合でも、他のテーブルの同期は継続されます。 値を空にすると上限なしとなり、エラーが発生しても同期を停止しません。詳しくは、同期対象のテーブル例外についてを参照ください。 |
STEP1 転送先設定
以下の設定項目については、転送先 - Google BigQueryの該当する項目を参照ください。
- Google BigQuery接続情報
- データセット
- データセットのロケーション
- データセットの自動作成オプション
| 項目 | 必須 | デフォルト値 | 内容 |
|---|---|---|---|
| 生ログデータセット | Yes | データセット名に「_raw_trocco_logs」のsuffixをつけた値 | CDCデータ転送の中間テーブルを保存するデータセットを指定します。 |
STEP2 出力オプション
| 項目 | 内容 |
|---|---|
| パーティション種別 | 転送先テーブルのパーティション種別を選択します。「日別」または「月別」を選択した場合は、パーティショニングの基準となるTimestamp型のカラムをあわせて選択します。 |
同期対象のテーブル例外について
自動追従できない型変更など、転送ジョブ内の一部テーブルでエラーが発生した場合、エラーが発生したテーブルのみ例外として転送をスキップできます。
エラーが発生したテーブルが存在するジョブは、ジョブ自体は成功しますが「テーブルエラーあり」と表示されます。

失敗回数が連続失敗回数上限を超えた場合、テーブルの転送はスキップされます。

スキップされたテーブルへの対応
スキップされたテーブルを再度転送する場合は、以下のいずれかの操作で対応してください。
- 「全件転送(選択テーブル)」または「全件転送(全テーブル)」を実行する
- 転送先のテーブルは一度削除され再作成されます。
- 転送エラーの原因を取り除いた上で、画面の実行ボタンを押し、転送を実行する
- 実行ボタンを押すと失敗回数のカウントはリセットされ、スキップ対象となったテーブルの転送が再開されます。
差分転送に失敗するたびに読み込むログが徐々に増大するため、転送に失敗する回数が多くなると、遅延やエラーが発生する可能性があります。
テーブル連続失敗回数は原則設定することを推奨します。
転送元でエラーが発生した場合は、すべてのテーブルの転送がエラーとなり、ジョブ全体が失敗します。
制約事項
- 転送先テーブルは初回の全件転送時に再作成されます。既存のテーブルは利用できません。
- 9MBを超えるレコードは転送がスキップされます。