iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
AI/ ML & Data

這跟文件說的不一樣!從 0 到 1 導入 dbt 的實戰甘苦談 系列

dbt 近年來是許多數據團隊的熱門選擇,在資料轉換與資料治理的領域中提供很強大的框架去做更好的管理。

從導入 dbt 到現在歷經了一年多的時間,在開發的過程中,我們一路遵循著 dbt 的 best practice guide,但仍然遇到不少取捨或挑戰,因此希望透過這個系列的文章,梳理在整趟旅程中的各種甘苦談。

在這邊我會盡可能略過在文件中已經有仔細說明的環節(附上連結讓有興趣的人可以去研究),不再重複討論,而是專注在討論按照文件進行部署時,我們團隊在實戰時面臨的挑戰。

鐵人鍊成 | 共 30 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文 團隊資料工程師甘苦談
DAY 11

DAY 11 Evaluator 跟文件說的不一樣!談如何評估專案完成度

什麼是開發完成?在小組織營運中,身上總是同時有三五個專案在跑,雖然 dbt 重構是蠻大的一道題目,也不可能讓他永無止盡地做下去,必須有個清楚的 ending 才...

2024-09-25 ‧ 由 阿晟 分享
DAY 12

DAY 12 Incremental 跟文件說的不一樣!談何時該用增量模型

incremental models!(文件) 簡單來說就是從原本的 create or replace table 變成 insert into table,...

2024-09-26 ‧ 由 阿晟 分享
DAY 13

DAY 13 Incremental 跟文件說的不一樣!談增量模型怎麼省不了錢?真不是 BUG?

接著來說說實現 incremental model 省錢的路途上,遇到的問題吧。 首先是 is_incremental 內的寫法,dbt 推薦了一個做法,可以用...

2024-09-27 ‧ 由 阿晟 分享
DAY 14

DAY 14 dbt core 跟文件說的不一樣!談為何要自己做 dbt core

我們改用 dbt core 了! 理由一:要錢了 先不講一些高大上的價值跟理由,一開始急著要研究這個轉移,最關鍵的還是看到這個方案: 免費的 develope...

2024-09-28 ‧ 由 阿晟 分享
DAY 15

DAY 15 dbt core 跟文件說的不一樣!談如何利用 Dev Container 統一開發環境,避免版本與環境差異

dbt core setup,可以先照著官方文件按部就班的前進。基本上就是 pip install, authentication 還有一些環境的設定。 在這個...

2024-09-29 ‧ 由 阿晟 分享
DAY 16

DAY 16 排程跟文件說的不一樣!談 dbt 與 Airflow 的協作方法

dbt 的模型,如何用 airflow 來做任務排程工作? dbt 官方有提供文件說明: Airflow + dbt Cloud Install the db...

2024-09-30 ‧ 由 阿晟 分享
DAY 17

DAY 17 排程跟文件說的不一樣!談解耦 Airflow 與 dbt

我們盡可能地把 Airflow 的開發與 dbt 的工作流程做更清楚的隔離。 我們組織的需求大概就是日更、週更、月更的資料流,原先我們使用 BigQuery 時...

2024-10-01 ‧ 由 阿晟 分享
DAY 18

DAY 18 Freshness 跟文件說的不一樣!談如何確保資料的「新鮮度」

在資料工程的世界裡,要做好資料治理、管控資料品質,確保數據的「新鮮度」是非常重要的。 為了管理數據的新鮮度,dbt 提供了 freshness checks 功...

2024-10-02 ‧ 由 阿晟 分享
DAY 19

DAY 19 Debug 跟文件說的不一樣!抓蟲怎麼這麼難

要在 dbt 的開發流程中進行除錯,老實說,比 BigQuery 麻煩許多。畢竟除了 BigQuery 之外,其他的工具都是 call BigQuery 的 A...

2024-10-03 ‧ 由 阿晟 分享
DAY 20

DAY 20 Profiles 跟文件說的不一樣!開發與生產環境的隔離

在系統開發中,管理開發環境至關重要。我們需要確保在開發與測試階段進行的所有操作不會影響正式環境的資料。 然而,許多團隊在系統建置初期,常常忽略這一點,因為能夠在...

2024-10-04 ‧ 由 阿晟 分享