データ分析
2024/01/24
與田 龍人

dbt core環境構築 for BigQuery

dbt (data build tool) はデータサイエンティストやデータエンジニアがSQLを用いてデータ変換処理(Transformation)をより効率的に行うためのツールです。この記事では、Google BigQueryを対象としたdbt coreの環境構築プロセスについて詳しく説明します。

はじめに

dbt (data build tool) はデータサイエンティストやデータエンジニアがSQLを用いてデータ変換処理(Transformation)をより効率的に行うためのツールです。この記事では、Google BigQueryを対象としたdbt coreの環境構築プロセスについて詳しく説明します。

ステップ1: GCPのAPIとサービスからdbt用の秘密鍵を作成

dbtをBigQueryと連携させるためには、Google Cloud Platform (GCP) でAPIとサービスの秘密鍵を作成する必要があります。GCPのコンソールにログインし、適切なプロジェクトを選択した後、APIとサービスの認証情報ページに移動して秘密鍵を作成します。この秘密鍵は、後ほどdbtとBigQueryを接続する際に使用します。


秘密鍵作成の詳細はこちら

ステップ2: プロジェクトディレクトリの作成

まず、任意のプロジェクト名でディレクトリを作成して、作成したディレクトリに移動します。このディレクトリは、dbtのプロジェクトファイルを保持する場所になります。



mkdir my_dbt_project
cd my_dbt_project




ステップ3: Python仮想環境の設定

Pythonの仮想環境を設定することで、dbtのインストールや他の依存関係をプロジェクト固有の環境内に閉じ込めることができます。



python -m venv dbt-env 
source dbt-env/bin/activate




ステップ4: dbt-bigqueryのインストール

dbt-bigqueryは、dbtがBigQueryと連携するためのプラグインです。以下のコマンドでインストールします。



pip install dbt-bigquery




ステップ5: インストールの確認

以下のコマンドでdbtのインストールが正しく行われたか確認します。



dbt --version




ステップ6: dbtプロジェクトの初期化とBigQueryの接続

dbtプロジェクトを初期化します。これにより対話形式でBigQueryとの接続を行えます。



dbt init dbt_tutorial


詳細(今回の例)


・Which database would you like to use?:[1] bigquery


・Desired authentication method option (enter a number):[2] service_account


・keyfile (/path/to/bigquery/keyfile.json):秘密鍵のファイルパス


・project (GCP project id):プロジェクトID


・dataset (the name of your dbt dataset):データセット名


・threads (1 or more):1


・job_execution_timeout_seconds [300]:300


・Desired location option (enter a number):[1] US


プロジェクトが正しく作成されたことを確認するために、設定ファイルの内容を確認します。



cat ~/.dbt/profiles.yml






ステップ7: プロジェクトディレクトリへの移動とテストテーブルの作成

次に、作成したdbtプロジェクトディレクトリに移動し、テストテーブルを作成します。



cd dbt_tutorial 
dbt seed





コマンドを実行すると、以下のようにBigQuery内で新しいデータセットが作成されます。


まとめ

以上で、BigQuery用のdbt core環境の構築は完了です。このプロセスを通じて、dbtとBigQueryの連携を設定し、効率的なデータ変換と分析のための基盤を構築しました。これにより、dbtを使用してデータモデリング、テスト、ドキュメント化などを行い、データ分析の精度と効率を高めていくことが可能です。Happy Data Modeling!

New call-to-action