隨著組織中數據量、數據源和數據類型的增長,在分析、數據科學和機器學習計劃中使用這些數據以獲得業務見解的重要性也在增長。優先考慮這些計劃的需求給數據工程團隊帶來了越來越大的壓力,因為在執行這些計劃之前,將原始、混亂的數據處理成幹淨、新鮮、可靠的數據是關鍵的一步。ETL代表提取、轉換和加載,它是工程師用於從不同來源提取數據的流程數據,將數據轉換為可用和可信的資源,並將該數據加載到終端用戶可以訪問和使用的係統中,以便在下遊解決業務問題。
此過程的第一步是從通常是異構的目標源(如業務係統、api、傳感器數據、營銷工具和事務數據庫等)中提取數據。如您所見,其中一些數據類型可能是廣泛使用的係統的結構化輸出,而其他數據類型則是半結構化JSON服務器日誌。有不同的方法來執行提取:
第二步包括將從源中提取的原始數據轉換為不同應用程序可以使用的格式。在這個階段,數據被清理、映射和轉換,通常是到特定的模式,以滿足操作需求。此過程需要進行幾種類型的轉換,以確保數據的質量和完整性。數據通常不會直接加載到目標數據源中,而是通常將其上傳到登台數據庫中。這一步確保在某些事情沒有按計劃進行的情況下可以快速回滾。在此階段,您可以生成符合法規的審計報告,或者診斷和修複任何數據問題。
最後,load函數是將轉換後的數據從暫存區寫入目標數據庫的過程,該數據庫以前可能存在,也可能不存在。根據應用程序的需求,這個過程可能非常簡單,也可能非常複雜。這些步驟中的每一步都可以使用ETL工具或自定義代碼來完成。
ETL管道(或數據管道)是ETL進程發生的機製。數據管道是一組工具和活動,用於將數據從一個具有數據存儲和處理方法的係統移動到另一個可以以不同方式存儲和管理數據的係統。此外,管道允許自動從許多不同的來源獲取信息,然後將其轉換和整合到一個高性能的數據存儲中。
雖然ETL是必不可少的,但隨著數據源和類型的指數級增長,構建和維護可靠的數據管道已成為數據工程中更具挑戰性的部分之一。從一開始,建立確保數據可靠性的管道是緩慢而困難的。數據管道是用複雜的代碼和有限的可重用性構建的。在一個環境中構建的管道不能在另一個環境中使用,即使底層代碼非常相似,這意味著數據工程師通常是瓶頸,每次都要重新發明輪子。除了管道開發之外,在日益複雜的管道體係結構中管理數據質量也很困難。不良數據經常被允許在管道中流動而不被發現,從而使整個數據集貶值。為了保持質量並確保可靠的見解,數據工程師需要編寫大量的自定義代碼,以在管道的每個步驟實現質量檢查和驗證。最後,隨著管道規模和複雜性的增長,公司麵臨著管理它們的操作負載的增加,這使得數據可靠性難以維護。數據處理基礎設施必須設置、擴展、重新啟動、打補丁和更新——這意味著增加時間和成本。由於缺乏可見性和工具,管道故障很難識別,甚至更難解決。 Regardless of all of these challenges, reliable ETL is an absolutely critical process for any business that hopes to be insights-driven. Without ETL tools that maintain a standard of data reliability, teams across the business are required to blindly make decisions without reliable metrics or reports. To continue to scale, data engineers need tools to streamline and democratize ETL, making the ETL lifecycle easier, and enabling data teams to build and leverage their own data pipelines in order to get to insights faster.
Delta活動表(DLT)可以輕鬆地構建和管理可靠的數據管道,為Delta Lake提供高質量的數據。DLT通過聲明式管道開發、自動測試以及監控和恢複的深度可見性,幫助數據工程團隊簡化ETL開發和管理。