資料的持續整合 (CI) 是僅在確保資料遵循格式、架構和 PII 治理等最佳實踐後才向消費者公開資料的過程。資料的持續部署(CD)可確保生產管道每個步驟的資料品質。當然,這些方法是應用程式開發人員常用的。但在本文中,我們將回顧 CI/CD(也稱為資料管道的寫入-審核-發布)的好處,了解如何使用LakeFS 的鉤子為資料湖實現寫入-審核-發布(WAP),並分享一些示例以獲得最佳實踐。
資料管道寫入-審核-發布的好處
資料管道將處理後的資料從資料湖提供給下游消費者,例如業務儀表板和機器學習模型。隨著越來越多的組織依賴數據來實現關鍵業務決策,數據可靠性和信任成為最重要的問題。資料的持續整合和持續部署提供了更快的測試和部署速度,從而實現更敏捷的工作流程並縮短變更和新版本的周轉時間。
如何使用lakeFS實現資料管道的寫入-審核-發布?
LakeFS,提供了類似git的資料版本控制系統,使得資料的Write-Audit-Publish管道的實作更加簡單。 提供了一種稱為「hooks」的功能,可自動 馬來西亞 WhatsApp 號碼數據 檢查和驗證 分支上的資料。這些檢查可以由某些資料操作(例如提交、合併等)觸發。
Hook 到底是什麼?
從功能上來說,lakeFS hooks 與Git Hooks類似。 掛鉤在伺服器上遠端運行,並保證在觸發適當的事件時運行。
以下是 LakeFS 支援的鉤子的一些範例:
透過利用 LakeFS 的預提交和預
合併掛鉤,您可以在資料湖上實現 CI/CD 管道。
具體的觸發規則、品質檢查以及要應用規則的分支在 檔案中聲明。當特定事件(例如預先合併)發生時,lakeFS 會執行 檔案中聲明的所有驗證。如果出現驗證錯誤,合併事件將被阻止。
目前,lakeFS 允許在發生兩種
類型的事件時執行鉤子:在確認提交之前運行的預提交事件,以及在合併操作之前觸發的預合併事件。對於這兩種事件類型,傳回錯誤 歐洲的人工智慧願景 歐洲人工智慧願 將導致 LakeFS 阻止操作發生,並將該失敗傳回給請求使用者。
這是一個極其有力的保證——我們現在可以將所有資料湖參與者必須遵守的規則和實踐編纂並自動化。
然後,此保證可供數據消費者
使用:您正在從生產/重要/集合/中讀取。太棒了,您保證永遠不會看到破壞性的架構更改,並且所有資料都必須通過一組已知的統計 台灣新聞 品質檢查。如果它在主分支上,那麼它是安全的。
資料管道的寫入-審核-發布:使用鉤子作為資料品質門
掛鉤在遠端伺服器上運行,該伺服器可以為來自 LakeFS 伺服器的 http 請求提供服務。 LakeFS 支援兩種類型的鉤子。
Webhooks(在 Web 伺服器上遠端執行。例如:Python 中的 Flask 伺服器)
Airflow hooks(可以在 Airflow 伺服器上運行的複雜資料品質檢查/任務的 dag)
在下面的範例中,我們將展示如何使用 伺服器)在資料分支上實作品質閘。具體來說,如何配置掛鉤以僅允許主分支中的 parquet 和 delta Lake 格式檔案。
此範例使用現有的lakeFS環境
在所有bagel docker容器上運行的lakeFS)、在docker容器上運行的python Flask伺服器、Jupyter筆記本和範例資料集來演示lakeFS hooks與Apache Spark和Python的整合。
若要了解鉤子的工作原理以及如何在生產系統中配置鉤子,請參閱文件:Hooks。若要使用自訂品質檢查規則配置lakeFS hooks,請參閱lakefs-hooks儲存庫。