iT邦幫忙

鐵人檔案

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

dbt 修煉之路 系列

從原本不知道 dbt 是什麼,因工作上需要用 dbt,開始翻 dbt 文件和討論論壇,意外發現很多好用的功能。這一系列文章將會介紹 dbt 進階應用(macro, materialization 等),以及如何開發 dbt CI/CD

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

dbt model 開發 & 使用 BQ UDF

上篇介紹了如何透過 materialization 來實作 BigQuery UDF,建立完 materialization 後,本篇來介紹如何在 model...

2024-09-25 ‧ 由 joshua_lin 分享
DAY 12

materialization & macro 實作 UDF 差異

在前幾篇文章中介紹了用 materialization 和 macro 這兩種方式在 dbt 上實作 UDF,那就來回顧及統整兩種實作方式,以及比對兩者的優缺點...

2024-09-26 ‧ 由 joshua_lin 分享
DAY 13

什麼是 CI/CD ? 為何需要 CI/CD ?

在使用 dbt 時,若要修改某個 model,需要將修改後的程式碼推送到主分支,並重新部署 dbt 映像檔。 然而,在公司或團隊中,若每次修改都直接推送到主分支...

2024-09-27 ‧ 由 joshua_lin 分享
DAY 14

Migo CI/CD 流程

上篇介紹了 CI/CD 的定義及其價值,這篇將介紹 Migo 在 dbt 上設計的 CI/CD 流程。 Migo 作為乙方公司,處理多家客戶資料,不同客戶可能同...

2024-09-28 ‧ 由 joshua_lin 分享
DAY 15

dbt target

在 CI/CD 流程中,需要在測試和正式環境分別執行,因此必須在 BigQuery 建立測試環境,並告訴 dbt 如何區分這兩種環境。 首先,我們要在 prof...

2024-09-29 ‧ 由 joshua_lin 分享
DAY 16

dbt state(上)

在我們團隊的 dbt CI 流程中,第一階段是識別被改動的 models。這是因為在測試環境執行 models 時,我們不希望執行所有 models,以避免產生...

2024-09-30 ‧ 由 joshua_lin 分享
DAY 17

dbt state (下)

上篇主要介紹 dbt state 的用法,此篇會介紹 dbt state 所需的 manifest 檔案是如何產生 如何產生 manifest 可以使用 dbt...

2024-10-01 ‧ 由 joshua_lin 分享
DAY 18

dbt dry run

在我們的 CI/CD 流程中,有一個步驟是要先對 models 進行 dry-run,為何要進行 dry-run?以及要如何做?這篇將會一一介紹 為何需要 dr...

2024-10-02 ‧ 由 joshua_lin 分享
DAY 19

CI/CD:執行異動的 models

在執行完 dry-run、確保 SQL 程式碼可被執行後,就會在測試/正式環境中執行異動的 dbt models,因為 CI 和 CD 的步驟有些不同,以下分為...

2024-10-03 ‧ 由 joshua_lin 分享
DAY 20

dbt 自動化檢查

在 CI 流程的最後階段,檢查改動後的資料差異是一個重要步驟。本文將探討為什麼這項檢查如此重要,以及我們如何實現自動化檢查。 為什麼需要檢查資料差異? 人工檢查...

2024-10-04 ‧ 由 joshua_lin 分享