「dbtで始めるデータパイプライン構築~入門から実践~」というdbtの入門者向けのチュートリアル記事がありそれをやってみます。2021年公開の5万文字ほどの初学者に大変ありがたい内容。
2021時代とのdbt側のデザインのギャップもあるかなと思い記載。
自分用の備忘録として活用。
Chapter 03 チュートリアル:モデル開発の基本
Developに移動
画面左上のハンバーガーメニューを押し、「Develop」を選択してください
メモ:ハンバーガーメニューが[Develop]が[Studio]に変更。
以下の3ファイルをそれぞれ「data」フォルダの中に格納をしていきます。
現在のバージョンでは「seeds」配下がデフォルトのようです。
モデルとは?活用するメリット
dbtにおける「モデル」とは、SQLで書かれたデータ変換処理(=1つのSELECT文)をコードとして管理する単位のこと
- 再現性(コード管理):SQLをコードとして管理することで、誰が実行しても同じ変換を再現できます。
- 依存関係管理:モデル同士の依存関係を自動で解決し、正しい順序で処理を実行できます。
- 品質保証(テスト):カラムのNULL制約や一意性チェックをテストとして組み込み、品質を担保できます。
- チーム開発効率(Git/CI/CD):レビューや自動テストを通じて、チームでの開発効率を高められます。
- DWHのパワー活用:BigQueryやSnowflakeなどDWHの計算リソースを活かして高速に変換処理を実行できます。
dbtのref機能
dbtの機能のref機能を使ってモデルを再利用できる。依存関係も明確になって便利!感動。
Chapter 04チュートリアル:テストとドキュメント
下部の入力欄にdbt docs generateと入力しEnterを押すとドキュメントの生成タスクが実行され、完了すると画面左上に「view docs」というリンクが有効になり、そこからドキュメントが見れるようになります。
下の赤丸マークのところをクリックするとdocが見れました。古い技術を使って開発していた経験があるのですぐに文書化図解できるのはすごく助かる。
Chapter 05チュートリアル:デプロイの設定
まず左上部のハンバーガーメニューから「Home」を選択します、その後「Development Enviroment」を選択し、「New Enviroment」を選択してください
ジョブを作成する
ブランチを分けている場合は、メインとマージする必要性があり
Chapter 06Jinjaを使った高度なモデリング
SQL文内でメソッドやfor文作れるのは面白い。Jinjaの限界を理解した上でユースケースの理解が必要だと感じました。基盤構築は色々なものに触れれて面白い。
Chapter 09レガシーなSQLからdbtのSQLへのリファクタリング
時間が空いていたらやる。考え方がすごく学べそうではある。
Analytics-As-Codeの習慣とは:
- Gitで管理する
- レビュー文化を持つ
- テストを書く
- 環境を分ける
- 再利用性を重視
- CI/CDを導入
- ドキュメントを自動生成
👉 一言でいうと「分析をソフトウェア開発と同じリグor(rigor=厳格さ)でやる習慣」
まとめ
一通り対応いたしました。SQL文内でメソッドやfor文作れるのとモデルを再利用が面白いなと思った。
どんどん知らない技術にキャッチアップしていきたい。