
Fivetran で BigQuery を Destination に設定する
はじめに
Fivetran の宛先(Destination)に BigQuery を設定する機会があったので、本記事で内容をまとめてみます。
宛先としての BigQuery
宛先としての BigQuery に関する各種手順は以下に記載があるので、こちらに沿って進めます。
接続設定にあたり、主な特徴は以下の通りです。
- 展開モデル
- SaaS、Hybrid Deployment のいずれもサポート
- Fivetran と BigQuery との接続について
- 限定公開の Google アクセスで Fivetran 側の Google Cloud ネットワークは構成されているため、Fivetran におけるデータ処理時のクラウドサービスとして Google Cloud を選択することで、BigQuery とプライベート接続できる
- ロールと権限
- BigQuery User ロールが必要
- Fivetran またはユーザー管理のサービスアカウントに対して権限を与える
- Hybrid Deployment モデルの場合はユーザー管理のサービスアカウントが必要
- ユーザー管理のサービスアカウントを使用する場合サービス アカウント プライベートキーが必要
- データロードのコスト
- Fivetran は SQL クエリで先のテーブルにデータをマージするため、パーティションキーがソースの主キーに基づいている場合は、BigQuery へのデータの書き込み方法が自動的に最適化される(パーティションキーがソースの主キーに基づかない場合、同じテーブル内の異なるパーティションへの重複書き込みを回避するために、テーブル全体のスキャンが実行される)
- 列名
- BigQuery では列名の大文字と小文字を区別しないため、ソース側の接続設定で、ソースの命名規則を保持するように設定されている場合、ソースの列名をそのまま同期する
- この際、大文字と小文字が異なる場合でも、BigQuery 側では重複した列名をサポートしない
- BigQuery 側の命名規則に準拠しない列はスキップされる
- 非表示のデータセット
- ソース側でスキーマ名としてアンダースコアで始まるデータセットがあれば非表示のデータセットとして扱われる
接続設定
Google Cloud 側でプロジェクトが用意されている前提で以降の設定を行います。
Fivetran ダッシュボードで宛先に BigQuery を選択し、各種設定として、ここでは以下の通り指定しました。
- Project ID
- Google Cloud 側で確認
- 展開モデル
- SaaS
- サービスアカウント
- Fivetran 管理
Fivetran 管理のサービスアカウントを使用する場合、プロジェクト内の BigQuery User ロールを Fivetran 管理のサービスアカウントに付与します。
以降の設定は下図の通りとしました。
- Use GCP Service Perimeter
- Hybrid Deployment モデルや SaaS 展開モデルであっても、データ処理時に顧客管理の GCS バケットを指定する場合は、こちらをオンにし、サービスアカウントに対象のバケットに対する Storage.ObjectAdmin ロールを付与します
- Enable unstructured file replication
- 2025年5月17日時点でプライベート プレビュー
設定後、テストを実施し下図の表示なれば問題ないです。
さいごに
Fivetran で宛先に BigQuery を指定してみました。
こちらの内容が何かの参考になれば幸いです。