Medallion 架構

Databricks Lakehouse 入門

Gang Wang

Senior Data Scientist

從原始到可用

$$

  • 原始資料進到 lakehouse——接下來呢?
  • 髒亂且未驗證的紀錄,需要通往乾淨洞見的路徑
  • Medallion 架構能解決這問題
Databricks Lakehouse 入門

資料品質難題

$$

recraft: half: 一位困惑的資料工程師看著流入現代筆電螢幕的雜亂糾結資料流

$$

  • 來自數十個來源的原始資料
  • 欠缺欄位、重複、型別不匹配
  • 分析師需要值得信任的資料
Databricks Lakehouse 入門

三層一個目標

$$

nanobanana: full: 三段式專業廚房流程,自左至右:標示 Bronze 的原料木箱、標示 Silver 的備料檯上切好的蔬菜、標示 Gold 的精美擺盤,風格現代俐落

Databricks Lakehouse 入門

Bronze 層

$$

  • 即時接收到達的資料
  • 格式不一,欄位可為 null
  • 唯增不改——不刪不修
  • 你的安全網——可隨時回溯
{"pickup": "2024-03-15T08:23",
 "dropoff": "2024-03-15 8:41",
 "fare": null,
 "zone": "236",
 "distance": "4.2mi"}
{"pickup": "03/15/2024 09:10",
 "dropoff": "2024-03-15T09:32",
 "fare": 18.50,
 "zone": "unknown",
 "distance": 6.1}
Databricks Lakehouse 入門

Silver 層

$$

SELECT * FROM silver_taxi_trips
LIMIT 3;
pickup_ts   | dropoff_ts  | fare  | zone_id | dist_km
2024-03-15 | 2024-03-15 | 14.20 | 236     | 6.8
2024-03-15… | 2024-03-15 | 18.50 | 142     | 9.8
2024-03-15 | 2024-03-15 | 22.00 | 79      | 12.1

$$

  • 時間戳 → 正規 datetime 型別
  • 已移除 null,去除重複
  • 嚴格套用綱要——型別一致
Databricks Lakehouse 入門

Gold 層

$$

  • 商務層級彙總
  • 支援儀表板與管理報告
  • 為快速取用而最佳化

$$

SELECT * FROM gold_taxi_daily
LIMIT 3;
date       | zone_name      | avg_fare | trips
2024-03-15 | Upper East     | 16.80    | 1,247
2024-03-15 | Midtown        | 22.45    | 3,891
2024-03-15 | Financial Dist | 19.10    | 2,156
Databricks Lakehouse 入門

誰通常使用哪一層?

nanobanana: full: 三個水平堆疊的層:頂部 Gold 層配分析師圖示,中間 Silver 層配資料科學家圖示,底部 Bronze 層配資料工程師圖示,各自標示角色名稱,乾淨的資訊圖表風格

  • 這些是常見模式,非硬性規範——任何角色都可取用任一層
Databricks Lakehouse 入門

重點整理

$$

  • Bronze——收集所有原始資料,你的安全網
  • Silver——清理與驗證,可靠基礎
  • Gold——商務彙總,直接供應洞見
  • 各層 → 使用者不同,標準也不同

$$

nanobanana: half: 三層獎台,分別放置 bronze、silver、gold 獎牌,代表資料品質層級,現代俐落風格

Databricks Lakehouse 入門

一起來練習吧!

Databricks Lakehouse 入門

Preparing Video For Download...