在當代數據驅動的商業環境中,企業面臨著如何高效處理即時資料流的挑戰。本文探討一種結合 Spark 結構化串流與 Databricks 平台的現代資料工程實踐,旨在構建穩健的串流處理管道。此架構的核心為 Delta Lake 的多層次設計,即「獎牌架構」。資料首先以原始格式持續注入青銅層,作為不可變的真實來源;接著透過排程的微批次作業,在白銀層进行清洗、去重與結構化;最終在黃金層聚合成高價值的商業洞察。這種結合持續攝取與排程轉換的混合模式,不僅平衡了資料即時性與運算成本,更確保數據品質與治理的嚴謹性,為下游分析應用奠定堅實基礎。

第十三章:構建串流管道:Spark與Scala的即時資料處理

編排玄貓的串流處理:Databricks Workflows應用

編排玄貓的串流處理

269

圖13.8 – Databricks工作流程中的白銀層和黃金層串流任務

回到工作流程主頁,創建另一個作業。這次,玄貓將為玄貓的StreamingSilverStreamingGold物件創建兩個任務。每個任務都將設置為Spark Submit任務類型,並將使用自己的作業叢集。請參閱圖13.8中的範例。

  1. 串流青銅管道類似,編輯**排程與觸發器(Schedule & Triggers)部分,但這次,選擇排程(Scheduled)**作為觸發器類型:

圖13.9 – Databricks白銀層到黃金層的觸發器

  1. 接下來,在排程(Schedule)中,選擇每15分鐘一次,從每小時的0分鐘開始。該作業將在每小時的0、15、30和45分鐘觸發

  2. 最後,請確保將**觸發器狀態(Trigger Status)設置為活動(Active)**並保存觸發器。

玄貓的串流處理現在將持續從Kafka串流青銅數據,並每15分鐘將該數據從白銀層處理到黃金層!現在,讓玄貓總結本章以及玄貓所學到的一切。

構建串流管道:Spark與Scala應用程式

270

看圖說話:

此圖示提供了一個端到端串流管道的宏觀視角,展示了數據從原始來源到最終服務層的流動,以及Databricks Workflows如何編排整個過程。它突顯了持續攝取排程轉換兩種不同的處理模式。

  1. 數據源:Azure Event Hubs (Kafka)
  • 數據流的起點是Azure Event Hubs,它作為Kafka服務,接收IoT設備產生的持續數據流。由於Kafka主題的數據保留時間有限(例如1小時),因此需要持續的數據攝取以避免數據丟失。
  1. 持續串流攝取作業 (Bronze)
  • Databricks Workflows中的持續串流攝取作業負責從Kafka不間斷地讀取數據。這個作業使用Spark Structured Streaming,並配置為連續觸發器類型,確保它始終運行
  • 它將讀取到的原始數據追加(append)模式寫入Delta Lake青銅層。青銅層作為原始數據的不可變副本,是所有後續處理的基礎。
  1. 排程轉換作業 (Silver & Gold)
  • 另一個在Databricks Workflows中定義的排程轉換作業負責將數據從青銅層處理到白銀層,再從白銀層處理到黃金層
  • 這個作業被設置為排程觸發器類型,例如每15分鐘運行一次。這種微批次處理模式平衡了即時性需求資源效率
  • 青銅層到白銀層:作業首先從青銅層讀取數據,進行JSON解析扁平化清洗去重。處理後的數據以合併(merge)或覆蓋(overwrite)模式寫入Delta Lake白銀層。白銀層提供結構化、去重且可供臨時分析的數據。
  • 白銀層到黃金層:接著,作業從白銀層讀取數據,執行聚合操作(例如,計算每日事件數)和最新狀態提取(例如,獲取最新設備狀態)。這些結果以覆蓋(overwrite)模式寫入Delta Lake黃金層。黃金層包含業務就緒高度精煉的數據,專為報告和應用程式消費而設計。

這個編排架構確保了數據的持續流動分階段的精煉高效的更新機制,從而能夠可靠地支持即時分析業務決策

第十三章:構建串流管道:Spark與Scala的即時資料處理

第十三章:構建串流管道:Spark與Scala的即時資料處理

第十三章:構建串流管道:Spark與Scala的即時資料處理

第十三章:構建串流管道:Spark與Scala的即時資料處理

結論

縱觀現代企業對即時數據決策的高度依賴,本章所展示的串流架構不僅是一套技術實踐,更是一種策略性資產的構建藍圖。它巧妙地整合了持續串流(Bronze層)與微批次處理(Silver/Gold層),相較於單一的端到端即時處理模式,在數據治理、容錯性與成本效益間取得了更優越的平衡。其核心價值在於將原始數據的「持續捕獲」與商業邏輯的「分層精煉」徹底解耦。這種分離不僅降低了系統複雜度,更為數據品質的漸進式提升與未來多元應用的接入,預留了關鍵的彈性空間。然而,管理者也需意識到,其挑戰在於對工作流程調度的精密監控,以及在延遲性與運算資源之間的持續權衡。

展望未來,這種融合了串流處理、數據湖倉(Data Lakehouse)與自動化編排的模式,正迅速定義下一代數據平台的標準。它預示著數據工程將從單純的管道建設,演進為支持即時機器學習、動態商業智慧等高價值應用的敏捷數據服務中樞。

玄貓認為,對於任何致力於將數據轉化為核心競爭力的企業而言,掌握並實踐這種分層、可控的串流處理架構,已不再是選項,而是確保未來數據敏捷性與決策品質的策略基石。