將 ETL 程式碼推廣到生產環境是一個簡單的過程。我們有程式碼——通常儲存在 Git 中——並且想要建立和測試它。我們可以檢查程式碼、編寫更改並提交它們。
一旦我們準備好將 ETL 投入生產,我們就會執行拉取請求,該請求可能會執行自動寫入-審核-發布測試或確保沒有安全漏洞。如果一切順利,我們會將分支合併到生產中並開始在那裡運行我們的 ETL。
這個過程非常有效。或者確實如此?
目前 ETL 測試過程的問題在於我們測試樣本數據而不是生產數據(並祈禱一切正常)。
事情不必是 越南 WhatsApp 號碼數據 這樣的。
在本文中,我們將研究 LakeFS 如何借助 GitHub Actions 在生產資料上測試 ETL 程式碼。
什麼是 LakeFS,它如何進行 ETL 版本控制?
LakeFS 是一個開源解決方案,可讓您像處理程式碼一樣處理資料。
它位於從 Amazon S3 到本機解決方案的任何物件儲存之上,並為其提供 Git 介面。現在您可以在儲存桶中建立分支、進行更改、提交這些更改,或在出現問題時還原到先前的版本。您環境中的工俱生態系統可以透過 LakeFS API 存取此版本化資料。
LakeFS 負責版本控制並將 ETL 程
式碼推廣到生產環境。這意味著您可以建立分支、進行更改、提交更改以及建立拉取請求。
然而,我們可以透過利用 GitHub Actions 和 LakeFS 的整合來讓前者執行 LakeFS 操作,使這變得更容易。
GitHub 作業建立了生產資料的資
料分支,讓我們可以針對該資 如果沒有人工智慧,我們還能為網路寫作嗎? 料的副本執行 ETL(不用擔心,這不是您的資料的副本 – 稍後會詳細介紹!)。如果所有測試都通過,數據將被合併——生產中的數據風險為零。如果測試失敗,我們可以隨時恢復這些變更。
這在實務上是如何運作的?
讓我們在本指南中進行探索。
使用 LakeFS 和 GitHub Actions 將 ETL 程 日本數據 式碼提升到生產環境
LakeFS的零拷貝機制
LakeFS 運行在物件儲存之上
每次提交都是指向該儲存桶中文件的指標的集合。
LakeFS 利用物件儲存的不變性並進行寫入時複製。這意味著當建立新文件時,下一次提交將指向該附加文件。對於未更改的文件,我們將有多個提交指向這些文件(最終是實體物件)。
使用 LakeFS 將 ETL 程式
碼提升到生產環境
這就是lakeFS可以處理大量資料的原因。
假設我們想要建立整個生
產資料的副本並對其執行 ETL。這是僅元資料操作,這意味著它具有高效能。由於零複製,它可以處理數百個資料文件,並顯著節省儲存成本;您可以擁有多個副本,而無需任何真實副本。