iT邦幫忙

2024 iThome 鐵人賽

DAY 21
1
AI/ ML & Data

華人市場資料打撈師求生指南系列 第 21

day 21 - dbt Power User 其他好用的功能。

  • 分享至 

  • xImage
  •  

前面已經介紹完該如何使用 dbt 做資料轉換以及 snapshot。接下來會介紹再介紹一些使用 dbt Power User 時實用的功能。其實有很多都是 dbt 本身就有的功能,但把 dbt power user 把他做在 IDE 中,開發人員開發起來自然方便許多。

DAG

dbt 原生就有 DAG 的功能,讓我們可以了解表格上下游的關係,使用時可以利用 dbt docs generate 先產生一份文件,再利用 dbt docs serve 跑出一個靜態網頁,呈現如下圖:

https://ithelp.ithome.com.tw/upload/images/20241005/201631039hMaeUbyVM.png

但在開發 dbt 專案時,常遇到的一個問題是:我不知道我現在改動的 model 會影響哪些下游模型,或是說我現在想改動的邏輯,應該在哪一個模型更改,才能影響到這個出現在資料市集的模型,這時候就可以使用 dbt Power User 在 VS code 裡面的 Lineage Tab。

https://ithelp.ithome.com.tw/upload/images/20241005/20163103y1u1uT7Kfg.png

他可以呈現當下的 .sql 檔的模型上下游關係,甚至可以支援欄位的上下游關係,也可以透過跟 db 同步,了解這個模型,每個欄位的資料型別。

https://ithelp.ithome.com.tw/upload/images/20241005/20163103Z9BYVuHW8V.png

文件編輯

dbt 還提供了 documentation 的功能,他可以利用 .yml 檔紀錄每個表格以及欄位等等敘述,同樣也是透過 dbt docs generate 以及 dbt docs serve 生成一個靜態網站。而在 dbt power user 中,他可以自動生成一個簡單的 UI 。

使用 dbt 時,透過 yml 編輯每個欄位以及表格的屬性、敘述甚至是資料品質測試。

https://ithelp.ithome.com.tw/upload/images/20241005/20163103JAVN3HXosA.png

透過 VS code 以及 dbt power user 就可以利用 UI 產生以上的文件。

https://ithelp.ithome.com.tw/upload/images/20241005/20163103a8AUL7vJfc.png

預覽模型結果

例外, dbt Power User 也提供 Query 功能,讓我們可以預覽模型功能,讓我們在開發時可以快速地看一下自己開發出來的資料大概長什麼樣子。

https://ithelp.ithome.com.tw/upload/images/20241005/20163103vPWKgFUvrP.png

小結

事實上,跟傳統的 ETL pipeline 比起來, dbt 已經幫我們省下了不少工,像是提供一個文件且紀錄上下游的介面、減少 DDL 以及 DML 的撰寫等等。而 dbt power user 更提供了一個好的開發環境,讓使用者可以方便的使用一些 dbt 的功能,讓整體開發更加流暢。


上一篇
Day 20 - dbt snapshot
下一篇
Day 22 - 除了資料轉換, dbt 還可以...?
系列文
華人市場資料打撈師求生指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言