業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【データ基盤】
クラウドDWHを比較
BigQuery Data Transfer Service
Cloud ComposerData Catalog
VPC Service Controls
データの保守運用
AI

執筆者:Handbook編集部

dbtでGoogle Analytics 4のBigQueryデータからDWHを作成する

はじめに

この記事では、Google Analytics 4 と BigQuery を連携させる方法で設定した GA4 の Bigquery エクスポートデータから dbt でデータウェアハウスを作成する際の Tips を紹介します。

DWH 設計

フラット化

GA4 の Bigquery エクスポートデータはネストされたフィールドを持つため、まずは分析効率向上のためフラット化から考えることをお勧めします。

GDPR 対応

GA4 を使用して EU からのデータを分析する場合、一般的には欧州連合の一般データ保護規則(General Data Protection Regulation、GDPR)が適用されるため、対応していない場合は適用除外されるよう日本国内のデータに絞って DWH を作成することをお勧めします。

dbt による DWH の更新

定期実行方法

dbt を定期的に自動実行することで、DWH のデータを最新の状態に保つことができます。具体的な定期実行の方法として、Google Cloud の Cloud Run Jobs を利用する方法をCloud Run Jobs で dbt を定期実行する方法で紹介しているのでそちらが参考になるかと思います。

DWH のデータ更新時のコスト削減

dbt で DWH の更新を行う際、Materialization 設定に'Table'や'View'を選択してしまうと、全データを毎回参照・更新するため、BigQuery のクエリコストや dbt の実行時間が無駄になる可能性があります。この問題を解消するために、'incremental'設定と組み合わせて特定期間分のデータのみを更新するように設定することができます。以下は'incremental'モデルを設定し、過去 7 日間のデータのみを対象にする記述方法のサンプル sql モデルです。

{{
  config(
    enabled = true,
    database = "<project>",
    schema = "<dataset>",
    materialized = 'incremental',
    incremental_strategy = 'insert_overwrite',
    partition_by={
      "field": "event_date",
      "data_type": "date",
    },
  )
}}

{% if is_incremental() %}
    -- インクリメンタル実行時のみ、過去7日間のデータを対象にする
    {% set start_date = "DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)" %}
{% else %}
  -- フルリフレッシュ時は全期間を対象にする
  {% set start_date = "DATE('2000-01-01')" %}
{% endif %}

  .
  .
  .
  WHERE
    -- intradayテーブルのデータを参照しないため
    AND _table_suffix NOT LIKE "%intraday%"
    -- WHERE句でstart_dateを使用してeventsテーブルの接尾辞がstart_date以降のテーブルに限定する
    AND CAST(_TABLE_SUFFIX AS INT64) >= CAST(FORMAT_DATE('%Y%m%d', {{ start_date }}) AS INT64)

まとめ

この記事では、GA4 の Bigquery エクスポートデータから dbt でデータウェアハウスを作成する際の Tips を紹介しました。基本的には GA4 のネストフィールドのフラット化、dbt の定期実行、そして過去の特定期間分のデータのみを更新する設定により、効率的なデータウェアハウスの構築と運用が可能になるかと思います。

参考

info
備考

Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。

2025年07月06日に最終更新
読み込み中...