附上一些我常用的官方資源。
除了官網之外,也推薦:
https://docs.getdbt.com
官方文件入口網站,可以連到以下提到的各個資源。
https://courses.getdbt.com/collections
系統性的教學,適合新手一步一步入門。
https://docs.getdbt.com/glossary
一些常用名詞解釋。
https://docs.getdbt.com/guides/best-practices
討論了建構完整的 dbt 專案的許多考量。
https://docs.getdbt.com/blog
可以得知 dbt Labs 最新的消息、新功能,適合進階使用者。
https://github.com/dbt-labs
包含 dbt Core, dbt packages, 和 document webside 等。
https://docs.getdbt.com/community/forum
討論區,很多厲害的做法都是在這裡學到的。
https://www.getdbt.com/community/join-the-community
想加入 Slack 或 討論區,可以從這裡申請。
https://www.youtube.com/@dbt-labs
有很多 Coalesce 年會的錄影,也有一些教學影片。
再來我想特別介紹幾篇文章,在我的 dbt 之路上曾對我有很大幫助。
雖然知道 dbt 專案要從原始資料,從上游開始,一步一步建 staging, intermediate, marts,但現實是,我們手上有一個古老又龐大的專案要搬移到 dbt,每個 view 都又臭又長,完全不知道該怎麼下手。
這個教學示範了反方向的操作,如何由下游往源頭拆解,把一大坨 SQL 一步一步拆成模組,且包含了操作影片,可以順便學習 dbt 的操作方式。
建構 dbt 的專案就像製作沙拉,
我們先從 source 開始 -- 原始的材料,萵苣、小黃瓜、蕃茄、水、油、雞蛋、香料...
再來是 staging,一到兩個步驟的基本處理 -- 萵苣剁碎、小黃瓜切片、蕃茄切丁、沙拉醬製作...
接下來 intermediate 做進階的處理 -- 蔬菜類組合成基本的沙拉底、雞蛋煮熟...
最後 marts -- 組合成完整的沙拉,包含蔬菜、雞蛋、沙拉醬。
dbt 會依照 model 名稱在我們的 data warehouse 建立 table 或 view,但如果 model 改名或刪除,我們的 data warehouse 就會累積很多已經廢止的 table 或 view,dbt 不會主動刪除,久而久之會產生許多問題。
看了討論串才知道可以用 macro 和 graph nodes 檢查並處理。
我們主要的資料源 SAP,有接近 10 座資料庫,每一座就代表一個公司別(區域或國家),table 幾乎都一樣,但客製化欄位有所不同。
這篇以不同國家的 Shopify 資料源為例,示範了如何把這些結構相近的 table 全部 union 合而為一。
如果當初沒有看到這篇的話我會瘋掉。
Analytics Engineer 是好幾年前開始流行,不同於 Data Analyst 及 Data Engineer 的新職稱。
當初還沒聽過 dbt 的時候,就不小心搜到這篇文章。
細節我們將在 DAY30 詳聊。
歡迎加入 dbt community
對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加