前面已經介紹完該如何使用 dbt 做資料轉換以及 snapshot。接下來會介紹再介紹一些使用 dbt Power User 時實用的功能。其實有很多都是 dbt 本身就有的功能,但把 dbt power user 把他做在 IDE 中,開發人員開發起來自然方便許多。
dbt 原生就有 DAG 的功能,讓我們可以了解表格上下游的關係,使用時可以利用 dbt docs generate
先產生一份文件,再利用 dbt docs serve
跑出一個靜態網頁,呈現如下圖:
但在開發 dbt 專案時,常遇到的一個問題是:我不知道我現在改動的 model 會影響哪些下游模型,或是說我現在想改動的邏輯,應該在哪一個模型更改,才能影響到這個出現在資料市集的模型,這時候就可以使用 dbt Power User 在 VS code 裡面的 Lineage Tab。
他可以呈現當下的 .sql
檔的模型上下游關係,甚至可以支援欄位的上下游關係,也可以透過跟 db 同步,了解這個模型,每個欄位的資料型別。
dbt 還提供了 documentation 的功能,他可以利用 .yml
檔紀錄每個表格以及欄位等等敘述,同樣也是透過 dbt docs generate
以及 dbt docs serve
生成一個靜態網站。而在 dbt power user 中,他可以自動生成一個簡單的 UI 。
使用 dbt 時,透過 yml 編輯每個欄位以及表格的屬性、敘述甚至是資料品質測試。
透過 VS code 以及 dbt power user 就可以利用 UI 產生以上的文件。
例外, dbt Power User 也提供 Query 功能,讓我們可以預覽模型功能,讓我們在開發時可以快速地看一下自己開發出來的資料大概長什麼樣子。
事實上,跟傳統的 ETL pipeline 比起來, dbt 已經幫我們省下了不少工,像是提供一個文件且紀錄上下游的介面、減少 DDL 以及 DML 的撰寫等等。而 dbt power user 更提供了一個好的開發環境,讓使用者可以方便的使用一些 dbt 的功能,讓整體開發更加流暢。