🗂
Snowflake x dbtやってみた〜dbtモデル編〜
これまでの記事で環境構築が完了したのでメインのdbtに触れていきます。
※これまでの記事
Snowflake x dbtやってみた 〜環境準備編〜
Snowflake x dbtやってみた 〜dbtセットアップ編〜
modelの作成
dbtからビューを作成してみます。
ビューを作成するクエリの用意
with raw_listings as (
select * from AIRBNB.RAW.RAW_LISTINGS
)
SELECT
id AS listing_id,
name AS listing_name,
listing_url,
room_type,
minimum_nights,
host_id,
price AS price_str,
created_at,
updated_at
FROM
raw_listings
dbt側でモデルの定義
src_listings.sqlにビュー作成用クエリを書き込む
ubuntu@dbt:~/dbtlearn/models$ mkdir src
ubuntu@dbt:~/dbtlearn/models$ cd src/
ubuntu@dbt:~/dbtlearn/models/src$ touch src_listings.sql
ubuntu@dbt:~/dbtlearn/models/src$ vim src_listings.sql
dbtの実行
dbt runコマンドで実行します。
ubuntu@dbt:~/dbtlearn/models$ dbt run
06:33:53 Running with dbt=1.3.1
06:33:54 Found 1 model, 0 tests, 0 snapshots, 0 analyses, 303 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics
06:33:54
06:33:56 Concurrency: 4 threads (target='dev')
06:33:56
06:33:56 1 of 1 START sql view model dev.src_listings ................................... [RUN]
06:33:57 1 of 1 OK created sql view model dev.src_listings .............................. [SUCCESS 1 in 1.31s]
06:33:57
06:33:57 Finished running 1 view model in 0 hours 0 minutes and 3.52 seconds (3.52s).
06:33:57
06:33:57 Completed successfully
06:33:57
06:33:57 Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
ubuntu@dbt:~/dbtlearn/models$
下図の通り、DEVデータベースのビュー内に「src_listings」が出来上がっています。
SELECTで確認してみます。
この結果より、Viewの名前は作成したSQLファイルからきている。
また、dbt runで実行しするとSQLファイルの中身がSELECT句であるが、結果としてはViewが作成されている。
この動作について調べたところ、dbt_project.ymlファイルで制御されているようです。
さらに言うとマテリアライゼーションとよばれるウェアハウスにモデルを保存する機能があり、その機能によっって保存されています。
次回はマテリアライゼーションについてみていきます。
Discussion