dbtについて学習する機会があったので、まとめてみたいと思います。
dbtとは
dbtは、データ分析におけるELT(抽出、ロード、変換)プロセスの『T』の部分、つまりデータ変換処理について、支援してくれるツールです。
データ分析開発のワークフローは、サイロ化を生むエンジニアの孤立や手作業の多さなどの問題を抱えがちで、最適とは言えない状況であることが多いそうです。一方、既にソフトウェアエンジニアリングの方ではモジュール化やCI/CD、バージョン管理、文書化といった ベストプラクティス と呼ばれるものがあります。
dbtを使用することで、それらの手法をデータ分析の現場にも取り入れることが可能になるのだそう。
今回は UI で操作できる dbt Cloud について、dbtのクイックスタートに沿って、基本の操作を一通り動かしてみました。
セットアップしてみた
まずはdbtのクイックスタートの通りにセットアップしてみます。
初期状態で dbt Cloud にサインインすると、セットアップ画面が表示されます。
そのまま画面に沿って下記を設定していくことで、セットアップが完了します。
- 接続先データプラットフォームの種類を選択
- 接続先情報を入力
- Gitリポジトリとの接続を作成
1. 接続先データプラットフォームの種類を選択
今回はSnowflakeに接続するため、Snowflakeを選択して進みます。
2. 接続先情報を入力
Snowflakeの接続情報を求められるので、入力していきます。
- コネクション名
- Snowflakeのアカウント
- 接続先のデータベース
※dbtが生成するテーブルまたはビューの出力先となるデータベース
先にSnowflake側で「analystics_db」というデータベースを作成しています - 使用するウェアハウス
先にSnowflake側で「dbt_learning」というウェアハウスを作成しています
以下は、開発者ごとの認証情報
- Snowflakeの認証方法
- Snowflakeのユーザー&パスワード
- 開発環境からの接続先スキーマ
※開発者ごとの開発環境から生成するテーブルまたはビューの出力先となるスキーマ
事前に未作成でも、dbtが実行時に作成してくれます - その他:デフォルトのままでOK
3. Gitリポジトリとの接続を作成
作成したファイルを管理するリポジトリを選択します。
今回はGitHubを選択しました。
まず、GitHub側でリポジトリを作成し、ログインした状態で↓のボタンを押下します。
↓
↓
すると、またセットアップ画面に戻ってきたので、もう一度リポジトリ設定のところに行きます。
ボタンが変わっているので、押下します。
↓
githubアカウントにdbt Cloud Appをインストールします。
アクセスを許容する範囲が選択できるようだったので、dbt用に作成したリポジトリだけを指定してみました。問題なさそうでした。
↓
セットアップ画面に戻ると、紐づけたリポジトリが選択できるようになっています。
↓
ドキュメントと読み合わせながら進めましたが、基本的には画面に従っていればよく、簡単にセットアップができました。
次は、プロジェクトを開始してモデルを作成してみたいと思います。