您好,登錄后才能下訂單哦!
ETL的發(fā)展歷程是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
Extract(提?。簭牟煌愋偷臄?shù)據(jù)源(包括數(shù)據(jù)庫)讀取數(shù)據(jù)。
Transform(轉(zhuǎn)換):將提取的數(shù)據(jù)轉(zhuǎn)換成特定的格式。轉(zhuǎn)換還包括使用系統(tǒng)中其他數(shù)據(jù)來豐富數(shù)據(jù)內(nèi)容。
Load(加載):將數(shù)據(jù)寫入到目標數(shù)據(jù)庫、數(shù)據(jù)倉庫或者另一個系統(tǒng)中。
根據(jù)基礎(chǔ)設(shè)施的不同,ETL可以劃分為兩大類。
傳統(tǒng)ETL的工作流
數(shù)據(jù)庫、文件和數(shù)據(jù)倉庫之間的處理以批次進行。
目前,大多數(shù)公司都需要分析并操作實時數(shù)據(jù)。但是,傳統(tǒng)的工具不適合分析日志、傳感器數(shù)據(jù)、測量數(shù)據(jù)等。
非常大的領(lǐng)域數(shù)據(jù)模型需要全局的結(jié)構(gòu)。
傳統(tǒng)ETL處理非常慢、非常耗時,而且需要大量資源。
傳統(tǒng)架構(gòu)僅關(guān)注已有的技術(shù)。因此,每次引入新的技術(shù),應(yīng)用程序和工具都要重新編寫。
隨著時間一天天過去,大數(shù)據(jù)改變了處理的順序。數(shù)據(jù)先提取并加載到一個倉庫中,并以原始格式保存。每當(dāng)數(shù)據(jù)分析師或其他系統(tǒng)需要數(shù)據(jù)時再進行轉(zhuǎn)換。這個過程叫做ELT。不過這個過程最適合在數(shù)據(jù)倉庫中進行處理。如Oracle Data Integration Platform Cloud等系統(tǒng)提供了該功能。
現(xiàn)代數(shù)據(jù)處理通常包括實時數(shù)據(jù)的處理,而且組織也需要對處理過程的實時洞察。
系統(tǒng)需要在數(shù)據(jù)流上執(zhí)行ETL,不能使用批處理,而且應(yīng)該能夠自動伸縮以處理更高的數(shù)據(jù)流量。
一些單服務(wù)器的數(shù)據(jù)庫已經(jīng)被分布式數(shù)據(jù)平臺(如Cassandra、MongoDB、Elasticsearch、SAAS應(yīng)用程序等)、消息傳遞機制(Kafka、ActiveMQ等)和幾種其他類型的端點代替。
應(yīng)當(dāng)避免由于“現(xiàn)寫現(xiàn)用”的架構(gòu)導(dǎo)致的重復(fù)數(shù)據(jù)處理。
改變數(shù)據(jù)捕獲技術(shù)的方式,從要求傳統(tǒng)ETL與之集成,變成支持傳統(tǒng)操作。
源和目標端點應(yīng)該與業(yè)務(wù)邏輯解耦合。使用數(shù)據(jù)映射層,將新的源和端點無縫地銜接,而且不影響數(shù)據(jù)轉(zhuǎn)換過程。
數(shù)據(jù)映射層
接收到的數(shù)據(jù)應(yīng)當(dāng)在轉(zhuǎn)換(或執(zhí)行業(yè)務(wù)規(guī)則)之前進行標準化。
數(shù)據(jù)應(yīng)該在轉(zhuǎn)換之后、發(fā)布到端點之前轉(zhuǎn)換成特定的格式。
數(shù)據(jù)清理并不是現(xiàn)代世界中唯一的數(shù)據(jù)轉(zhuǎn)換過程。數(shù)據(jù)轉(zhuǎn)換還需要滿足組織的許多業(yè)務(wù)需求。
目前的數(shù)據(jù)處理通常包含過濾、連接、聚合、序列、模式和豐富化,以執(zhí)行復(fù)雜的業(yè)務(wù)邏輯。
數(shù)據(jù)處理過程
將所有生產(chǎn)數(shù)據(jù)放到文件系統(tǒng)和數(shù)據(jù)庫中,數(shù)據(jù)的格式各異。
每小時或每天對數(shù)據(jù)進行處理。
處理來自CDC的事件。
處理新系統(tǒng)通過HTTP收到的以事件為中心的數(shù)據(jù)。
將處理過的事件發(fā)送到多個目的地。
監(jiān)視當(dāng)前的庫存,在需要新庫存的時候發(fā)送通知。
使用庫存數(shù)量查看分析結(jié)果。
傳統(tǒng)的ETL工具:
下述處理的ETL邏輯是重復(fù)的:
對于每個結(jié)構(gòu)不同的文件和數(shù)據(jù)庫。
當(dāng)目標或源端點的數(shù)量增加時。
重復(fù)的業(yè)務(wù)邏輯很難管理和伸縮。
分析和監(jiān)視所需的數(shù)據(jù)計算是重復(fù)的。
流式平臺架構(gòu)如何解決現(xiàn)代ETL問題:
現(xiàn)代流式平臺的工作流
源(例如文件、CDC、HTTP)和目標端點(如Kafka、Elasticsearch、Email)從處理過程中解耦合:
目標、源和存儲API連接到多個數(shù)據(jù)源。
即使源和目標中的數(shù)據(jù)結(jié)構(gòu)不同,數(shù)據(jù)映射(如data mapper)層和流SQL(如Query1)也會把從多個源接收到的事件轉(zhuǎn)換成通用的源定義(如Stream1),以便以后進行處理。
流平臺架構(gòu)可以連接傳統(tǒng)類型的數(shù)據(jù)源(如文件和CDC),和廣泛應(yīng)用的現(xiàn)代數(shù)據(jù)源(如HTTP)。
傳統(tǒng)系統(tǒng)和現(xiàn)代系統(tǒng)生成的事件都用同一個工作流進行接收和分析。
聚合(如Aggregation1)按照每分鐘、每小時等頻率針對需要的屬性進行計算。
數(shù)據(jù)隨時按需進行匯總,不需要對整個數(shù)據(jù)集進行處理和匯總。應(yīng)用程序和可視化、監(jiān)視工具可以通過提供的API訪問匯總后的數(shù)據(jù)。
可以無縫地添加并改變一個或多個業(yè)務(wù)邏輯(如BusinessRule1)。
可以添加任何邏輯,而無需改變已有組件。如上例中,根據(jù)BusinessRule1,當(dāng)緊急程度升高時,就會觸發(fā)一條Email消息。
通過上述架構(gòu),我們可以看到為了ETL數(shù)據(jù)處理,流式平臺與傳統(tǒng)系統(tǒng)集成,如文件、CDC與使用Kafka和HTTP的現(xiàn)代系統(tǒng)的結(jié)合。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。