💻

dbt-elementaryでデータモニタリングを実践する

2024/02/24に公開

はじめに

パッケージのインストール

今回はOSSバージョンを使って試したいと思います。
以下のインストールサイトに従って進めていきます。
https://docs.elementary-data.com/oss/quickstart/quickstart-cli-package

  1. packages.ymlにelementaryを追加
    dbtのパッケージとしてelementaryを導入します。
packages.yml
packages:
  - package: elementary-data/elementary
    version: 0.14.0
    ## Docs: https://docs.elementary-data.com
  1. dbt_project.ymlにelementaryを追加
    elementaryは独自のスキーマを使います。elementary用のモデルが<スキーマ名>_elementaryという命名規則で作られます。
dbt_project.yml
models:
  ## see docs: https://docs.elementary-data.com/
  elementary:
    ## elementary models will be created in the schema '<your_schema>_elementary'
    +schema: "elementary"
    ## To disable elementary for dev, uncomment this:
    # enabled: "{{ target.name in ['prod','analytics'] }}"
  1. パッケージを読み込んだ上で、elementaryモデルをビルドする
Terminal
dbt deps
dbt run --select elementary

この段階で、elementary用の空テーブルが作られます。

  1. テスト実行
    正常にインストールできているか、テスト実行してみましょう
Terminal
dbt test

elementary_test_resultsというテーブルにテスト結果が出力されていれば、正常にインストールできています!

Elementary CLIのインストール

続いて、CLIをインストールしていきます。
https://docs.elementary-data.com/oss/quickstart/quickstart-cli

まずCLIからdbt projectに接続するために、profile.ymlを設定していきます。
実はelementaryパッケージに便利なコマンドが用意されており、パッケージをインストールしたdbtプロジェクト内で以下コマンドを実行するとprofile.ymlに記載すべき内容を出力してくれます。

Terminal
dbt run-operation elementary.generate_elementary_cli_profile

このコマンドの出力結果をprofile.ymlに追記しましょう。

追記できたら、いよいよCLIをインストールします。

Terminal
pip install elementary-data

PostgreSQL以外のデータベースを利用する場合は、以下コマンドも必要です。

Terminal
pip install 'elementary-data[snowflake]'
pip install 'elementary-data[bigquery]'
pip install 'elementary-data[redshift]'
pip install 'elementary-data[databricks]'
pip install 'elementary-data[athena]'
## Postgres doesn't require this step

レポートを表示する

data observability reportというレポートを作成できます。dbt testの結果などを一覧表示できます。
以下コマンドを実行すると、webページとしてレポートを生成できます。

Terminal
edr report

Discussion