概要
Databricks における Google Analytics Raw Data コネクターによる ingestion pipeline をDatabricks Free Edtion で試してみた結果を共有します。
Databricks における Google Analytics Raw Data コネクター機能とは、 Databricks とデータ連携を簡単に行える Lakeflow コネクター機能であり、 Google Analtyics 4 から BigQuery Export 機能によりエクスポートっした BigQuery からデータを連携する機能です。
出所:Lakeflowコネクトとは? | Databricks on Google Cloud
出所:Google Analytics 未加工データ コネクタの概念 | Databricks on Google Cloud
本手順を実施することで下記のようなパイプラインが構築され、データ連携が実施できます。また、そのパイプラインをジョブに登録することで自動化も可能です。
事前準備
環境準備
- Databricks Free Edition
- Google Cloud 環境
Google Analtyics 4 から BigQuery Export を設定
下記のドキュメントにて手順が紹介されています。
BigQuery Export 設定後、すぐにテーブルが作成されるわけではないことに注意してください。私は数日後に連携されていることを確認できました。
Databricks にてカタログとスキーマを作成
g4_rawというカタログとその配下にbq_dataというスキーマを作成しました。
検証手順
1. Google Cloud にてサービスプリンシパルを作成
2. サービスプリンシパルに対して権限を付与
必要な権限は下記です。
- BigQuery Data Viewer
- BigQuery Job User
- BigQuery Read Session User
Dataset スコープで BigQuery Data Viewer を付与したところ、下記のエラーとなりました。プロジェクトスコープで BigQuery Data Viewer で付与して対応しました。
com.databricks.pipelines.execution.conduit.common.DataConnectorException: [SAAS_CONNECTION_ERROR.BIGQUERY_INSUFFICIENT_PERMISSIONS] Failed to make a connection to the Google Analytics source. Error code: NO_BQ_DATA_VIEWER_ACCESS. The service account has insufficient permissions to ingest data from the BigQuery project {project_name}.
Please provide a service account with BigQuery Data Viewer, BigQuery Job User, and BigQuery Read Session User roles on the project that you'd like to ingest from.
3. サービスプリンシパルの認証キーを取得
4. Google Analytics Raw Data コネクターの ingestion pipeline の作成と初回実行
Databricks にてJobs & Pipelinesタグを選択し、Ingestion pipeline`を選択します。
Google anlytics Raw Dataを選択します。
+ Create connectionを選択します。
接続名を入力し、3. サービスプリンシパルの認証キーで取得した json の中身を張り付けて、Create connectionを選択します。
Pipline name 等を入力し、Crete pipeline and continueを選択します。
取得対象のテーブルを選択し、Nextを選択しま。テーブルが表示されるまでに数分かかることがあります。
書き込み対象のスキーマが確認のうえ、Save and continueを選択します。
Schedule や Notifications を設定の上(本記事では削除の上)で、Save and run pipelineを選択します。
初回連携が開始されることを確認します。
5. 実行結果を確認
データが連携されていることを確認します。



















