iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0
AI & Data

dbt: 告別過時的SQL開發流程系列 第 28

DAY 28 - dbt官方文件、影片、學習資源

  • 分享至 

  • xImage
  •  

附上一些我常用的官方資源。

除了官網之外,也推薦:

  1. 加入 Slack 社群:目前有 50000+ 人,任何資料庫、BI 工具、在地社群(城市)都可以有一個自己的頻道,dbt 的員工也都會看且在上面回答問題。
  2. dbt Coalesce年會:任何與 data 有關的主題,內容很豐富不過都是英文,YT有上傳錄影。
  3. dbt-local-taipei:台灣在地社群,明天詳聊。

官方資源

dbt 官方網站

https://www.getdbt.com

dbt 官方文件入口網站

https://docs.getdbt.com
官方文件入口網站,可以連到以下提到的各個資源。

dbt 官方學習課程

https://courses.getdbt.com/collections
系統性的教學,適合新手一步一步入門。

dbt Analytics Engineering Glossary 常見名詞

https://docs.getdbt.com/glossary
一些常用名詞解釋。

dbt 官方進階指南: Best practice guides

https://docs.getdbt.com/guides/best-practices
討論了建構完整的 dbt 專案的許多考量。

dbt 官方部落格

https://docs.getdbt.com/blog
可以得知 dbt Labs 最新的消息、新功能,適合進階使用者。

dbt 官方 GitHub

https://github.com/dbt-labs
包含 dbt Core, dbt packages, 和 document webside 等。

dbt Community Forum

https://docs.getdbt.com/community/forum
討論區,很多厲害的做法都是在這裡學到的。

dbt 官方社群申請表

https://www.getdbt.com/community/join-the-community
想加入 Slack 或 討論區,可以從這裡申請。

dbt 官方 YouTube

https://www.youtube.com/@dbt-labs
有很多 Coalesce 年會的錄影,也有一些教學影片。


好文推薦

再來我想特別介紹幾篇文章,在我的 dbt 之路上曾對我有很大幫助。

Refactoring legacy SQL to dbt

雖然知道 dbt 專案要從原始資料,從上游開始,一步一步建 staging, intermediate, marts,但現實是,我們手上有一個古老又龐大的專案要搬移到 dbt,每個 view 都又臭又長,完全不知道該怎麼下手。

這個教學示範了反方向的操作,如何由下游往源頭拆解,把一大坨 SQL 一步一步拆成模組,且包含了操作影片,可以順便學習 dbt 的操作方式。

Data modeling techniques for more modularity

建構 dbt 的專案就像製作沙拉,
我們先從 source 開始 -- 原始的材料,萵苣、小黃瓜、蕃茄、水、油、雞蛋、香料...
再來是 staging,一到兩個步驟的基本處理 -- 萵苣剁碎、小黃瓜切片、蕃茄切丁、沙拉醬製作...
接下來 intermediate 做進階的處理 -- 蔬菜類組合成基本的沙拉底、雞蛋煮熟...
最後 marts -- 組合成完整的沙拉,包含蔬菜、雞蛋、沙拉醬。

https://www.getdbt.com/ui/img/guides/analytics-engineering/intermediate_data_models.png

清除未使用的 tables/views

dbt 會依照 model 名稱在我們的 data warehouse 建立 table 或 view,但如果 model 改名或刪除,我們的 data warehouse 就會累積很多已經廢止的 table 或 view,dbt 不會主動刪除,久而久之會產生許多問題。

看了討論串才知道可以用 macro 和 graph nodes 檢查並處理。

合併結構對稱的資料源

我們主要的資料源 SAP,有接近 10 座資料庫,每一座就代表一個公司別(區域或國家),table 幾乎都一樣,但客製化欄位有所不同。
這篇以不同國家的 Shopify 資料源為例,示範了如何把這些結構相近的 table 全部 union 合而為一。
如果當初沒有看到這篇的話我會瘋掉。

What is Analytics Engineering?

Analytics Engineer 是好幾年前開始流行,不同於 Data Analyst 及 Data Engineer 的新職稱。
當初還沒聽過 dbt 的時候,就不小心搜到這篇文章。
細節我們將在 DAY30 詳聊。


歡迎加入 dbt community
對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加


上一篇
DAY 27 - 小故事: 當初如何決定要用dbt
下一篇
DAY 29 - Taipei dbt Meetup & 在地社群
系列文
dbt: 告別過時的SQL開發流程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言