dbt jinja 関数について挙動を確認してみた
https://dev.classmethod.jp/articles/dbt-jinja-function/
dbt jinja 関数について挙動を確認してみた
https://dev.classmethod.jp/articles/dbt-jinja-function/
こんにちは!よしななです。 前回の記事では、dbt jinja テンプレートの基礎構文についてまとめました。 今回は、dbt jinja テンプレートにある dbt jinja 関数について、実際に使用することの多い{{ref}}、{{source}}の2つの関数の挙動をまとめたので、備忘録として残します。 目次 前提 対象環境 コード実行のための準備 データとテーブルの準備 dbt jinja 関数とは dbt jinja 関数一覧 {{ref}} {{source}} まとめ 参考文献 前提 対象環境 本ブログのコードは以下の環境で実行しています。 OS Windows 11 ターミナル VSCode / PowerShell で実行 コード実行のための準備 本ブログのコードを実行するには、以下の準備が必要です。 今回は、以下の準備がすべて完了した前提で進めます。 dbt-core インストール Amazon Athena と dbt-core を接続する 参考記事:https://dev.classmethod.jp/articles/get-start-dbt-core-with-athena/ dbt initコマンドを実行し、dbt モデルを格納するフォルダtest_jinjaを作成 データとテーブルの準備 .csv データの準備 下記の item_list.csv / transaction_data_raw.csv は ChatGPT を使用して生成しています。 https://chat.openai.com/ item_list.csv transaction_data_raw.csv テーブルの作成 上記の .csv データをもとに、以下のDDL文を実行し Amazon Athena 上にtransaction_raw_tableと、item_list_tableを作成します。 item_list_table を作成する DDL transaction_raw_table を作成する DDL dbt モデルの作成 dbt init実行で作成したtest_jinjaプロジェクト配下に dbt モデルを作成します。 作成した .sql ファイルに dbt モデルのロジックを書いていきます。 dbt jinja 関数とは dbt には、標準の jinja テンプレートに加えて、dbt プロジェクトで作業する際に使用できる、dbt jinja 関数が用意されています。 dbt jinja 関数の一覧は以下になります。 https://docs.getdbt.com/reference/dbt-jinja-functions 本ブログでは、dbt jinja 関数の中でも、実際に使用することの多い{{ref}}、{{source}}について 実際に動かして挙動を確認してみたので次項にまとめます。 dbt jinja 関数一覧 {{ref}} {{ref}}は、ある …