HightouchのSourceにGoogle BigQueryを設定してみた

2023.08.30

こんにちは、スズです。

Hightouchでは、Google BigQueryをSourceに設定することで、Google BigQueryのデータをDestinationにプッシュすることができます。HightouchのSourceにGoogle BigQueryを設定してみましたので、本記事にてご紹介します。

はじめに

設定については、Hightouchの公式ドキュメントに記載があります。本記事では、公式ドキュメントを元に設定を行っていきます。

設定手順

前提条件

設定に入る前に、今回使用するGoogle BigQueryは以下の状態になっています。

  • プロジェクトにデータセットが存在する
  • BigQuery APIが有効になっている

サービスアカウントの作成

まずはサービスアカウントを作成していきます。Hightouchの[Settings]タブの右上にある[Add cloud provider]をクリックします。

[Select a cloud provider]にて「Google Cloud Platform」をクリックします。

[Configure GCP service account]が表示されます。ここでは、以下の中からアクセス方法を設定します。

  • Service account managed by Hightouch
  • Bring your own service account

[Service account managed by Hightouch]の場合、HightouchはGoogle Cloudアカウント内にサービスアカウントを作成し、プロジェクトのIAMポリシーをバインドできます。[Bring your own service account]の場合、サービスアカウントのキーをアップロードします。

今回は[Service account managed by Hightouch]を利用します。[Service account managed by Hightouch]の場合、[Create a new service account]をクリックするとサービスアカウントが作成されます。このサービスアカウントをGoogle Cloudでの設定に使います。サービスアカウントを作成したら、[Create]をクリックします。

Google Cloudに移動し、IAMにプリンシパルを追加します。

追加するプリンシパルには、先ほどHightouchで作成したサービスアカウントを設定します。また、プリンシパルにはロールを割り当て、Hightouchからのアクセスを許可します。フルアクセスを許可する場合は、以下のロールを割り当てます。

  • bigquery.user
    メタデータの読み取り、テーブルの一覧の表示。
  • bigquery.dataViewer
    テーブルとビューからのデータの読み取り。

Sourceの追加

[Sources]タブの[Add source]をクリックします。

[Select a data source]にて「Google BigQuery」をクリックします。

ここからは接続の構成を設定していきます。画面上では3つのステップに分かれています。

STEP 1

GCP credentialに、先ほどHightouchで作成したサービスアカウントを設定します。

STEP 2

Google BigQueryのProject IDと、データセットのロケーションを設定します。

STEP 3

データモデルの増分変更を追跡するための同期エンジンを選択します。

  • Standard sync engine
    データベース内のクエリを実行し、全てのクエリ結果を読み取り、Hightouchのインフラストラクチャを使用して増分変更を決定する。読み取りアクセスが必要。
  • Lightning sync engine 以前に同期されたデータを、Hightouchによって管理されるGoogle BigQueryの別のスキーマに保存する。Google BigQueryの読み取りおよび書き込みアクセスが必要。

設定後、[Continue]をクリックして次に進みます。

接続テストが行われます。テストに成功したら、[Continue]をクリックして次に進みます。

最後にSourceの名前を設定し、[Finish]をクリックして設定完了です。

最後に

HightouchのSourceにGoogle BigQueryを設定してみました。今回初めてHightouchを触ってみましたが、ドキュメントに従ってスムーズに設定が行えました。迷わず設定できて、簡単に連携していくことができそうです。

参考