メインコンテンツまでスキップ

Google アナリティクスから集計データをインジェストする

備考

ベータ版

この機能はベータ版です。使用するには、ワークスペース管理者は プレビュー ページから Google アナリティクス Aggregated向けLakeflow Connect を有効にする必要があります。Databricksのプレビューを管理するを参照してください。

集計されたGoogle アナリティクス 4(GA4)レポート データをUnity Catalogテーブルに取り込むマネージドLakeflow Connect パイプラインを作成します。宣言型オートメーションバンドルまたは Databricks ノートブックを使用します。

要件​

  • 取り込み パイプラインを作成するには、最初に次の要件を満たす必要があります。

    • ワークスペースでUnity Catalogが有効になっている必要があります。

    • ワークスペースでServerless コンピュートが有効になっている必要があります。Serverless コンピュートの要件を参照してください。

    • 新しい接続を作成するには、メタストアに対する CREATE CONNECTION 特権が必要です。Unity Catalog での権限の管理を参照してください。

      コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。

    • 既存の接続を使用するには、接続オブジェクトに対してUSE CONNECTION権限またはALL PRIVILEGES権限が必要です。

    • ターゲットカタログに対する USE CATALOG 権限が必要です。

    • 既存のスキーマに対するUSE SCHEMA権限とCREATE TABLE権限、またはターゲットカタログに対するCREATE SCHEMA権限が必要です。

  • Google アナリティクス から取り込むには、まず Databricks からの認証を構成し、接続を作成する必要があります。「 Google アナリティクス の認証の構成」および「 Google アナリティクス 集計接続の作成」を参照してください。

コネクターオプション​

Google アナリティクス集計コネクタが受け付けるオプション、そのスコープ、および適用されるテーブルについては、コネクタオプションを参照してください。パイプラインスコープのオプションはsource_configurationsで設定し、テーブルスコープのオプションは個々のオブジェクトで設定します。使用例については、例を参照してください。

取り込みパイプラインを作成する​

サポートされているソーステーブルの一覧については、 サポートされているソーステーブルを参照してください。

宣言型オートメーションバンドルを使用して、Google アナリティクス集計パイプラインをコードとして管理します。バンドルには、ジョブとタスクの YAML 定義を含めることができ、Databricks CLI を使用して管理され、異なるターゲット ワークスペース(開発、ステージング、本番運用など)で共有およびランを実行できます。「宣言型オートメーションバンドルとは?」をご覧ください。

  1. Databricks CLIを使用してバンドルを作成するには、次の手順を実行します。

    Bash
    databricks bundle init
  2. バンドルに2つの新しいリソースファイルを追加します:

    • パイプライン定義ファイル(例: resources/google_analytics_aggregated_pipeline.yml)。パイプライン.ingestion_definition を参照してくださいと 例。
    • データ取り込みの頻度を制御するジョブ定義ファイル(例: resources/google_analytics_aggregated_job.yml )。
  3. Databricks CLIを使用してパイプラインをデプロイする:

    Bash
    databricks bundle deploy

例​

Google アナリティクス集約コネクタは、そのソーステーブルをdefaultソーススキーマで利用可能にします。テーブルの一覧については、 「サポートされているソーステーブル」を参照してください。

スキーマの詳細については、宛先テーブルのスキーマを参照してください。

事前に作成されたレポート テーブルを取り込む​

次の例では、2つのGA4プロパティの traffic_acquisition_session_source_medium_report テーブルを取り込みます。

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'traffic_acquisition_session_source_medium_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'traffic_acquisition_session_source_medium_report'
connector_options:
api_source_connector_options:
options:
property_ids: '["<property-id-1>", "<property-id-2>"]'
lookback_window_in_days: '<lookback-days>'

カスタムレポートの取り込み​

次の例では、GA4 の各週の国とデバイスカテゴリ別のセッションとユーザーを集計するカスタムレポートを取り込みます。同じパイプラインで複数のカスタムレポートを取り込むには、各レポートに custom_report オブジェクトをそれぞれ異なる destination_table で追加します。オプションについては、 カスタムレポートを参照してください。

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'custom_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'weekly_sessions_by_country_and_device'
connector_options:
api_source_connector_options:
options:
property_id: '<property-id>'
dimensions: '["country", "deviceCategory"]'
metrics: '["sessions", "totalUsers"]'
cursor_dimension: 'yearWeek'

ビルド済みレポートテーブルとカスタムレポートテーブルを一緒に取り込む​

次の例は、構築済みのレポートテーブルと月次カスタムレポートを 1 つのパイプラインに結合しています。各オブジェクトは、そのテーブルが受け入れるコネクターオプションのみを設定します。

YAML
resources:
pipelines:
google_analytics_aggregated_pipeline:
name: google_analytics_aggregated_pipeline
catalog: 'main'
target: 'google_analytics_aggregated_data'
ingestion_definition:
connection_name: google_analytics_aggregated_connection
source_configurations:
- api_source_connector_config:
configs:
start_date: '<start-date>'
objects:
- table:
source_schema: 'default'
source_table: 'website_overview'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'website_overview'
connector_options:
api_source_connector_options:
options:
property_ids: '["<property-id>"]'
- table:
source_schema: 'default'
source_table: 'custom_report'
destination_catalog: 'main'
destination_schema: 'google_analytics_aggregated_data'
destination_table: 'monthly_revenue_by_channel'
connector_options:
api_source_connector_options:
options:
property_id: '<property-id>'
dimensions: '["sessionDefaultChannelGroup"]'
metrics: '["totalRevenue", "transactions"]'
cursor_dimension: 'yearMonth'

宣言型オートメーションバンドルジョブ定義ファイル​

次は、宣言型オートメーションバンドルで使用するジョブ定義ファイルの例です。ジョブは毎日ランされます。

YAML
resources:
jobs:
google_analytics_aggregated_job:
name: google_analytics_aggregated_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: google_analytics_aggregated_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.google_analytics_aggregated_pipeline.id}

一般的なパターン​

高度なパイプライン設定については、 「管理された取り込みパイプラインの一般的なパターン」を参照してください。

次のステップ​

パイプラインの起動、スケジュール、アラートを設定する。一般的なパイプラインのメンテナンス タスクを参照してください。

その他のリソース​