この記事では、Databricks Lakeflow Connect と Google BigQuery を使用して Google Analytics 生データ インジェスト パイプラインを作成する方法について説明します。 パイプラインは、Databricks UI または Databricks API を使用して作成できます。
開始する前に
インジェスト パイプラインを作成するには、以下の要件を満たす必要があります。
ワークスペースは、Unity Catalog に対して有効にする必要があります。
ワークスペースに対してサーバーレス コンピューティングを有効にする必要があります。 サーバーレス コンピューティング要件を参照してください。
新しい接続を作成する場合: メタストアに対する
CREATE CONNECTION特権が必要です。コネクタが UI ベースのパイプライン作成をサポートしている場合、管理者は、このページの手順を完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン作成を使用している場合、または管理者以外のユーザーである場合は、まず管理者がカタログ エクスプローラーで接続を作成する必要があります。 「マネージド インジェスト ソースへの接続」を参照してください。
既存の接続を使用する場合: 接続オブジェクトに対する
USE CONNECTION特権またはALL PRIVILEGESが必要です。ターゲット カタログに対する
USE CATALOG特権が必要です。既存のスキーマに対する
USE SCHEMA権限とCREATE TABLE権限、またはターゲット カタログに対するCREATE SCHEMA権限が必要です。
BigQuery を使用して GA4 から取り込むには、 Google Analytics 4 と Google BigQuery for Databricks のインジェストの設定に関するページを参照してください。
ネットワークの構成
サーバーレス エグレス制御が有効になっている場合は、次の URL を許可リストします。 それ以外の場合、この手順はスキップしてください。 サーバーレスエグレス制御のネットワーク ポリシーの管理を参照してください。
bigquery.googleapis.comoauth2.googleapis.combigquerystorage.googleapis.comgoogleapis.com
インジェスト パイプラインを作成する
必要なアクセス許可:USE CONNECTION または ALL PRIVILEGES は接続上で必要です。
このステップでは、インジェスト パイプラインを作成する方法について説明します。 取り込まれた各テーブルは、同じ名前のストリーミング テーブルに書き込まれます。
Databricks ユーザーインターフェース
Azure Databricks ワークスペースのサイドバーで、[ Data Ingestion をクリックします。
[ データの追加 ] ページの [Databricks コネクタ] で、[ Google Analytics 4] をクリックします。
インジェスト ウィザードが開きます。
ウィザードの [ インジェスト パイプライン ] ページで、パイプラインの一意の名前を入力します。
[ 宛先カタログ ] ドロップダウン メニューで、カタログを選択します。 取り込まれたデータとイベント ログがこのカタログに書き込まれます。 後で宛先スキーマを選択します。
ソース データへのアクセスに必要な資格情報を格納する Unity カタログ接続を選択します。
ソースへの既存の接続がない場合は、[接続の 作成 ] をクリックし、「 Google Analytics 4 と Google BigQuery for Databricks インジェストの設定」で取得した認証の詳細を入力します。 メタストアに対する
CREATE CONNECTION特権が必要です。Databricks UI では、GA4 接続の OAuth のみがサポートされます。 ただし、Databricks API を使用して接続を作成することで、代わりに基本認証を使用できます。 Google アナリティクスの生データを参照してください。
[パイプラインの作成] をクリックして続行します。
[ ソース ] ページで、Databricks に取り込むテーブルを選択し、[ 次へ] をクリックします。
[ 宛先 ] ページで、書き込む Unity カタログ カタログとスキーマを選択します。
既存のスキーマを使用しない場合は、[ スキーマの作成] をクリックします。 親カタログに対する
USE CATALOGおよびCREATE SCHEMA特権が必要です。[パイプラインの保存] をクリックして続行。
(省略可能)[ 設定] ページで、[ スケジュールの作成] をクリックします。 変換先テーブルを更新する頻度を設定します。
(省略可能)パイプライン操作の成功または失敗に関する電子メール通知を設定します。
[ 保存してパイプラインを実行] をクリックします。
Databricks ノートブック
後でノートブックに貼り付けることができるように、個人用アクセス トークンを生成し、トークンをコピーします。 ワークスペース ユーザーの個人用アクセス トークンの作成を参照してください。
次のノートブックをワークスペースにインポートします。
Google Analytics 生データ インジェスト パイプラインを作成する
ノートブックで次の値を変更します。
セル 1:
-
api_token: 生成した個人用アクセス トークン
セル 3:
-
name: パイプラインの名前 -
connection_name: カタログ エクスプローラーで作成した Unity カタログ接続の名前 (カタログ > 外部データ > 接続)。 ソースへの既存の接続がない場合は、作成できます。 メタストアに対するCREATE CONNECTION特権が必要です。 -
source_catalog: Google Cloud Platform (GCP) プロジェクト ID。 ソース カタログが指定されていない場合、コネクタは、取り込む GCP プロジェクトがサービス アカウントに記載されているものであると見なします。 -
source_schema: Google Analytics の指定形式によるプロパティ名analytics_XXXXXXXX -
source_table: ソース テーブルの名前:events、events_intraday、users、またはpseudonymous_users -
destination_catalog: 取り込まれたデータを格納する宛先カタログの名前。 -
destination_schema: 取り込まれたデータを含む宛先スキーマの名前。 -
scd_type: 使用する SCD メソッド:SCD_TYPE_1またはSCD_TYPE_2。 「 履歴追跡の有効化 (SCD タイプ 2)」を参照してください。
-
[ すべて実行] をクリックします。
Databricks コマンドラインインターフェース (CLI)
パイプラインを作成するために
databricks pipelines create --json "<pipeline definition or json file path>"
パイプラインを編集するには:
databricks pipelines update --json "<pipeline definition or json file path>"
パイプライン定義を取得するには:
databricks pipelines get "<pipeline-id>"
パイプラインを削除するには:
databricks pipelines delete "<pipeline-id>"
詳細情報を得るには、以下のコマンドを実行してください。
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
パイプラインのスケジュールと通知を更新する
パイプラインの詳細ページでパイプラインのスケジュールを作成できます。
パイプラインが作成されたら、Azure Databricks ワークスペースに再びアクセスし、[パイプラインの ] をクリックします。
新しいパイプラインがパイプラインの一覧に表示されます。
パイプラインの詳細を表示するには、そのパイプライン名をクリックします。
パイプラインの詳細ページで、スケジュールをクリックしてパイプラインをスケジュールできます。
パイプラインに通知を設定するには、[設定] クリックし、通知を追加します。
パイプラインに追加するスケジュールごとに、Lakeflow Connect によって自動的にジョブが作成されます。 インジェスト パイプラインは、ジョブ内のタスクです。 必要に応じて、ジョブにさらにタスクを追加できます。