次の方法で共有


Google Analytics 生データ インジェスト パイプラインを作成する

この記事では、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.com
  • oauth2.googleapis.com
  • bigquerystorage.googleapis.com
  • googleapis.com

インジェスト パイプラインを作成する

必要なアクセス許可:USE CONNECTION または ALL PRIVILEGES は接続上で必要です。

このステップでは、インジェスト パイプラインを作成する方法について説明します。 取り込まれた各テーブルは、同じ名前のストリーミング テーブルに書き込まれます。

Databricks ユーザーインターフェース

  1. Azure Databricks ワークスペースのサイドバーで、[ Data Ingestion をクリックします。

  2. [ データの追加 ] ページの [Databricks コネクタ] で、[ Google Analytics 4] をクリックします。

    インジェスト ウィザードが開きます。

  3. ウィザードの [ インジェスト パイプライン ] ページで、パイプラインの一意の名前を入力します。

  4. [ 宛先カタログ ] ドロップダウン メニューで、カタログを選択します。 取り込まれたデータとイベント ログがこのカタログに書き込まれます。 後で宛先スキーマを選択します。

  5. ソース データへのアクセスに必要な資格情報を格納する Unity カタログ接続を選択します。

    ソースへの既存の接続がない場合は、[接続の 作成 ] をクリックし、「 Google Analytics 4 と Google BigQuery for Databricks インジェストの設定」で取得した認証の詳細を入力します。 メタストアに対する CREATE CONNECTION 特権が必要です。

    Databricks UI では、GA4 接続の OAuth のみがサポートされます。 ただし、Databricks API を使用して接続を作成することで、代わりに基本認証を使用できます。 Google アナリティクスの生データを参照してください。

  6. [パイプラインの作成] をクリックして続行します

  7. [ ソース ] ページで、Databricks に取り込むテーブルを選択し、[ 次へ] をクリックします。

  8. [ 宛先 ] ページで、書き込む Unity カタログ カタログとスキーマを選択します。

    既存のスキーマを使用しない場合は、[ スキーマの作成] をクリックします。 親カタログに対する USE CATALOG および CREATE SCHEMA 特権が必要です。

  9. [パイプラインの保存] をクリックして続行

  10. (省略可能)[ 設定] ページで、[ スケジュールの作成] をクリックします。 変換先テーブルを更新する頻度を設定します。

  11. (省略可能)パイプライン操作の成功または失敗に関する電子メール通知を設定します。

  12. [ 保存してパイプラインを実行] をクリックします。

Databricks ノートブック

  1. 後でノートブックに貼り付けることができるように、個人用アクセス トークンを生成し、トークンをコピーします。 ワークスペース ユーザーの個人用アクセス トークンの作成を参照してください。

  2. 次のノートブックをワークスペースにインポートします。

    Google Analytics 生データ インジェスト パイプラインを作成する

    ノートブックを入手

  3. ノートブックで次の値を変更します。

    セル 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: ソース テーブルの名前: eventsevents_intradayusers、または pseudonymous_users
    • destination_catalog: 取り込まれたデータを格納する宛先カタログの名前。
    • destination_schema: 取り込まれたデータを含む宛先スキーマの名前。
    • scd_type: 使用する SCD メソッド: SCD_TYPE_1 または SCD_TYPE_2。 「 履歴追跡の有効化 (SCD タイプ 2)」を参照してください。
  4. [ すべて実行] をクリックします。

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

パイプラインのスケジュールと通知を更新する

パイプラインの詳細ページでパイプラインのスケジュールを作成できます。

  1. パイプラインが作成されたら、Azure Databricks ワークスペースに再びアクセスし、[パイプラインの ] をクリックします。

    新しいパイプラインがパイプラインの一覧に表示されます。

  2. パイプラインの詳細を表示するには、そのパイプライン名をクリックします。

  3. パイプラインの詳細ページで、スケジュールをクリックしてパイプラインをスケジュールできます。

  4. パイプラインに通知を設定するには、[設定] クリックし、通知を追加します。

パイプラインに追加するスケジュールごとに、Lakeflow Connect によって自動的にジョブが作成されます。 インジェスト パイプラインは、ジョブ内のタスクです。 必要に応じて、ジョブにさらにタスクを追加できます。

その他のリソース