etl介绍与etl工具比较_ETL万岁
etl介紹與etl工具比較
提取轉換負載是從一個數據系統中提取數據并加載到另一個數據系統中的過程。 涉及的數據系統稱為源系統和目標系統。
來自源系統的數據形狀與目標系統不匹配,因此需要進行一些轉換以使其兼容,該過程稱為Transformation 。 轉換是由map / filter / reduce操作完成的。
為了處理數據系統之間的不兼容性,需要一些元數據。 哪種類型的元數據會有用?
將源數據轉換成許多不同的形狀以處理各種業務用例是非常普遍的,因此對于源系統使用描述 性元數據,對于目標系統使用描述性元數據是有意義的。
元數據在使系統向后和向前兼容方面起著重要作用。
很多時候僅擁有元數據是不夠的,因為某些源/目標系統數據太大或太小而無法容納。
這是當變換變得有趣的情況。 這意味著某些值必須刪除或設置為NULL或默認值,對此做出正確的決定對于轉換的向后/向前兼容性非常重要。 我想說許多企業的成功還取決于如何解決這個問題! 如果正確完成,可以避免許多集成夢night。
到目前為止,我們只是在討論單一源系統,但是在許多用例中,都需要來自其他系統的數據進行一些轉換,例如將userid轉換為name,派生新的列值,查找編碼等等。
添加多源系統會增加轉換的復雜性,以處理丟失的數據,陳舊的數據等。
隨著數據系統的發展,今天不僅涉及關系存儲,我們還看到鍵值存儲,文檔存儲,圖數據庫,列存儲,緩存,日志等。
新數據系統也已分發,因此這增加了轉換復雜性的另一個維度。
我們的舊關系數據庫也可以描述為它是使用ETL模式構建的,通過使用更改日志作為數據庫所做的一切工作的源
關于ETL的神話之一是,它是批處理過程,但是隨著Stream處理器(即Spark Streaming,Flink等)和Pub Sub系統(Kafka,Pulsur等)的出現,它會隨著時間而改變。 這樣可以在事件推送到源系統后立即進行轉換。
流式流行語不要被太多帶走,不
無論您使用哪個流處理器或發布子系統,但您仍然必須應對上述挑戰或利用某些新平臺來解決這一問題。
投資轉換/業務邏輯,因為這是構建可維護和可擴展的成功系統的關鍵。
使其保持無狀態,元數據驅動,處理重復/重試等,更重要的是編寫Tests以在快速變化的時間內對其進行良好的維護。
下次當您對ETL流程有疑問時
您處理實時還是批量處理?
你的答案應該是
這是基于事件的處理。
ETL萬歲
翻譯自: https://www.javacodegeeks.com/2020/04/long-live-etl.html
etl介紹與etl工具比較
總結
以上是生活随笔為你收集整理的etl介绍与etl工具比较_ETL万岁的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是或运算? 或运算解释
- 下一篇: java 新功能_Java 14的新功能