♛ 第一本 dbt 繁體中文書 ♛
資料分析師與工程師必讀的技術及職涯實戰指南
本書改編自第 15 屆 iThome 鐵人賽 AI & Data 組優選系列文章《被 dbt 帶入門的數據工作體驗 30 想》及其團隊夥伴作品。四位作者由不同身份和視角出發,分享如何透過 dbt 實踐 Analytics Engineering(分析工程)。
dbt 是一個以 SQL 為基底的開源資料轉換工具,採用軟體工程原則,如版本控制、測試、模組化,讓資料轉換更可靠且高效。本書將帶你動手建立 dbt 專案,親自體驗其優勢。
Analytics Engineering 則是隨著資料產業演化而發展出的新興領域,介於資料分析和資料工程之間,且和兩者的部分任務重疊。
除技術外,書中也會討論資料文化、如何打造資料團隊,以及資料專業的職涯規劃和發展。無論新手或老手,本書都是能為你提供獨到見解的實用指南。
重點摘要
✦ dbt 由淺入深
dbt Cloud 及 dbt Core 實作應用
✦ 動手操作
附範例、語法、操作截圖
✦ 資料分析必備
資料品質及建模最佳實踐
✦ 打造資料文化
資料團隊現代化經典案例
目標讀者
任何工作中使用資料的人。包含:
◆ 參與資料專案的成員,不論你在資料部門,或是支援資料專案的軟體部門。你負責資料轉換成資訊的過程,想嘗試新工具,解決原本資料流程遇到的痛點。
◆ 在工作上經常使用資料的角色,例如:行銷、Sales、PM、財務、營運人員等。你對資料、報表有好奇心、想知道資料轉換成資訊的過程,並且喜歡動手操作。
專業推薦
透過真實案例與深入見解,引導你有效導入 dbt,營造資料驅動環境。無論你是資料處理老手或新手,本書皆提供所需知識與工具,幫助組織進入資料引導決策的未來。
──── 高嘉良(CL Kao)|Recce, CEO
這本書涵蓋了打造優秀數據團隊所需的全方位知識,不僅適合技術人員閱讀,也非常適合產品經理、商業分析師等角色參考。
──── Richard Lee|TNL Mediagene 技術長
因緣際會被我推坑的 Taipei dbt Meetup 熱血志工群,融合真實經驗,以案例故事呈現 Data 如何貫穿企業,讓你認識 dbt 並一窺 Data Team 的重要定位。
──── 陳正瑋(艦長)|DevOps Taiwan Community 志工/前 Organizer
作者簡介:
謝秉芳(Karen Hsieh)
熱衷提升資料文化與團隊一同打造好產品。從 dbt 發現洞察能幫助做產品,隨後建立資料團隊,提升組織資料素養。Taipei dbt Meetup 主辦人之一,熱愛分享與交流。
黃郁豪(Bruce Huang)
專注於幫助企業高效產出高品質資料的資料工程師。2022 年,團隊導入 dbt,大幅提升資料轉換效率並增強資料品質管控。從此持續分享 dbt 的實務經驗,並探討資料品質管理的議題。
韓衣錦(Michael Han)
從資料科學與分析工作入行,專門幫助企業轉型使用前沿資料工具。在2020年開始接觸 dbt,Singapore dbt Meetup 主辦人之一。希望可以透過本書分享我的一些經驗,也希望和大家一起發展中文圈 dbt 和資料的社群!
羅可涵(Stacy Lo)
擁有軟體開發與 data 背景,發現 dbt 是這兩個領域的完美結合。深信穩固的資料架構才能讓資料產生真正的價值,致力推廣 dbt 在台灣及繁體中文圈的應用與發展。
目錄
推薦序一:打造資料驅動的組織及文化
推薦序二:打造卓越數據團隊的全方位指南
前言
PART 1 dbt 及 Analytics Engineering
CHAPTER 01 dbt 及 Analytics Engineering
1-1 dbt 與 Analytics Engineering 的誕生
1-2 資料環境演化
1-3 現代資料棧的誕生
PART 2 介紹 dbt Cloud、dbt Core 及實際操作
CHAPTER 02 頂台小籠包和 Jaffle Shop
2-1 頂台小籠包的數據分析草創期
2-2 為什麼頂台小籠包要用 dbt?
2-3 什麼團隊適合導入dbt?什麼團隊不適合?
2-4 頂台小籠包使用 dbt 的改變
2-5 操作 dbt 前的準備工作
2-6 資料平台的選擇
CHAPTER 03 開始使用 dbt Cloud
3-1 建立 dbt Cloud 專案
3-2 初始化專案、執行 SQL 查詢及建立 Model
3-3 將 dbt model 實體化:dbt run 指令
3-4 模組化:擺脫又臭又長的一整串語法
3-5 部署前的準備:建立 Pull Request 並將變更併入
3-6 在 dbt Cloud 建立部署環境及定時排程
CHAPTER 04 在 dbt Cloud IDE 上開發
4-1 dbt tests 簡介:以 example 資料夾為例
4-2 更多測試方法、dbt build 指令
4-3 dbt 文件:在 Cloud IDE 產生、閱讀及編輯文件
4-4 手動維護的 CSV 資料源:dbt seeds
4-5 Cloud IDE 錯誤排除觀念
4-6 dbt Cloud 進階功能:dbt Assist
4-7 dbt Cloud 的價格方案
CHAPTER 05 在本機使用 dbt Core
5-1 頂台小籠包重新評估改用 dbt Core
5-2 使用 dbt Cloud 或 dbt Core 的考量
5-3 設定 dbt Core 本機環境
5-4 在本機用 dbt Core 開發的基本操作
5-5 dbt 輔助開發神器:Power User for dbt Core
CHAPTER 06 dbt 指令功能介紹及操作案例
6-1 dbt 有什麼設定? Configs 和 Property 是什麼?
6-2 好用的 dbt 指令參數介紹
6-3 dbt Jinja 及 Macros
6-4 dbt Package
6-5 dbt 如何客製化 dataset 和 table 命名
6-6 掌握 dbt incremental 的增量更新技巧
6-7 深度解析 dbt snapshot 設定步驟和各種策略
PART 3 實用資料觀念及最佳實踐
CHAPTER 07 資料品質管理
7-1 資料品質定義及影響因素
7-2 資料品質(Data Quality)的實作
7-3 dbt test 原理、使用方式
7-4 dbt test 常用的 package「dbt.utils」及「dbt_expectations」介紹
7-5 如何儲存和查詢 dbt test 結果?
7-6 dbt test 常用的 package「elementary」套件介紹、dbt test 結果通知
7-7 透過 dbt test 與 Recce 實現 CI 流程
CHAPTER 08 dbt 專案架構以及資料建模(Data Modeling)
8-1 dbt 的下游應用
8-2 資料建模(Data Modeling)的概念以及常見的類型
8-3 dbt 專案架構及命名原則
8-4 dbt_project_evaluator:自動檢查專案品質
8-5 dbt Cloud 的進階功能:dbt Semantic Layer
CHAPTER 09 進階資料建模實用案例:用 dbt 實作 Data Vault
9-1 Data Vault 介紹與概念
9-2 用 dbt 建立 DV 2.0:實作案例分享
PART 4 建立資料團隊及資料文化
CHAPTER 10 建立資料團隊
10-1 有效組織資料團隊
10-2 何時該調整資料團隊架構
10-3 如何評估資料團隊
10-4 如何思考及建立資料策略
10-5 Data Team 也是 Product team
CHAPTER 11 發展資料文化
11-1 如何提升資料素養?為什麼?
11-2 觀察現況並保持耐性
11-3 不要當 Data ATM
11-4 信任是合作的基石
11-5 製造小勝利以利發展資料文化
11-6 在計算指標之前,先確保定義一致
11-7 身為資料人,如何跟其他人協作
11-8 善用 BI
11-9 想達到的理想世界
PART 5 打造你的資料職涯
CHAPTER 12 頂台小籠包首位分析工程師明宏的資料職涯
12-1 明宏的資料職涯
12-2 用問題來描繪你的學習路徑
12-3 加入主管的行列
12-4 專業上的選擇
CHAPTER 13 你需要加入資料社群
13-1 為什麼你需要加入資料社群
13-2 如何玩社群
13-3 你的經驗值得分享
13-4 你也可以帶領社群
13-5 在 dbt 社群找到志同道合的朋友
APPENDIX A 結語及附錄
結語
特別感謝
名詞解釋
版權出處
推薦序一:打造資料驅動的組織及文化
推薦序二:打造卓越數據團隊的全方位指南
前言
PART 1 dbt 及 Analytics Engineering
CHAPTER 01 dbt 及 Analytics Engineering
1-1 dbt 與 Analytics Engineering 的誕生
1-2 資料環境演化
1-3 現代資料棧的誕生
PART 2 介紹 dbt Cloud、dbt Core 及實際操作
CHAPTER 02 頂台小籠包和 Jaffle Shop
2-1 頂台小籠包的數據分析草創期
2-2 為什麼頂台小籠包要用 dbt?
2-3 什麼團隊適合導入dbt?什麼團隊不適合?
2-4 頂台小籠包使用 dbt 的改變
2-5 操作 dbt 前的準備工作
2-6 資料平台的選擇
CHAP...