APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

dbdemosを使ってdbt jobsの調整と実行を調べてみましょう (DBT-on-databricks編)

はじめに

GLB事業部Lakehouse部の鄭(ジョン)です。

Databricks Lakehouse Platformが提供するデモであるdbdemosの中で、dbt jobsの調整と実行をするデモを紹介したいと思います。 www.dbdemos.ai

今回の投稿はdbdemosを初めて使う初心者に参考になるガイドを作成することを目標にしています。

目次

dbtとは

  1. より高い品質の結果を算出しながら、より多くの作業を遂行できるようにサポートする変換ワークフローです。dbtを使って分析コードをモジュール化し、中央集中化することができます。

  2. テンプレート機能を使用してデータ変換(一般的にSQL)を作成するのに役立ちます。簡単なデータ変換のテスト、探索、ドキュメンタリー化が可能です。

詳細は次のブログをご確認ください。
www.getdbt.com

dbt + Databricks Lakehouseとは

Databricks Lakehouseでdbt はパイプラインを作成すると、SQLクエリをコンパイルして生成します。 その後、SQL変換がDatabricks warehouseエンドポイントに送信され、Lakehouse使用できるデータを処理し、それに応じてデータを更新します。

使っているdbt pipeline

このデモはLakehouse C360 platform demoのデルタライブテーブルのパイプラインをコピーしています。
詳細は次のURLをご確認ください。
https://www.dbdemos.ai/demo.html?demoName=lakehouse-retail-c360

dbdemosのセットアップ

dbdemosを設置します。

%pip install dbdemos

dbdemosを読んでdbdemosの中にあるdbt-on-databricksを設置します。
pathにある<自分のIDを入力してください>に自分のIDを入力してください。

import dbdemos
dbdemos.install('dbt-on-databricks', overwrite=True, path='/Users/<自分のIDを入力してください>/dbt-on-databricks')  

ノートブックとクラスターが自動的に作成されました。 Workflowをクリックして移動します。

DatabricksのWorkflowはLakehouseの調整ツールです。
ETL(Extract(抽出)、Transform(変換)、Load(ロード))Workflowの中では簡単にdbtを追加できます。
Typeをdbtで選択して実行する dbt CLI(Command Line Interface) とコマンドを選択するだけです。
SQL変換をDatabricks warehouseエンドポイントに送信しています。

タスクのクラスターに先ほど自動的に生成されたクラスターを連結します。

dbtはほかのソースからのデータを直接取り込む方法を提供していません。

  1. ファイルを blob ストレージ (S3/ADLS/GCS...) に格納
  2. メッセージ キュー(kafka)
  3. 外部データベース···など手続きがあります。

Lakehouseはコネクターを通じて新しい到着するデータを段階的にロードできます。

作業が正常に実行されると、Reposで次のようなフォルダが作成されます。

クラスの説明

画像出典: Databricks(DBT-on-databricks)

含めている三つのタスクの説明です。

01-autoloader-data-ingestion: データブリックスオートローダーを使用して、ブロック ストレージからファイルを徐々に抽出し、このデータをRaw Layerに保存する作業
02-dbt-data-transformation: dbt パイプラインを実行して変換を行い、このRawテーブルのデータを消費します
03-ml-churn-prediction: 最終タスクのための最終作業(例:ML予測またはダッシュボード更新)

まとめ

今回はDBT-on-databricksを通じてdbtの作業について学びました。
次は今回に作成されたフォルダとdbt_c360_gold_churn_featureの作業について学びましょう。
詳細は次のGitHubをご確認ください。
github.com

最後までご覧いただきありがとうございます。

私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。

www.ap-com.co.jp