首頁技術(shù)文章正文

ETL是什么技術(shù)?

更新時間:2021-06-08 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


ETL是英文Extract-Transform-Load的縮寫,用來描述將數(shù)據(jù)從源端經(jīng)過抽取(extract)、轉(zhuǎn)換(transform)、加載(load)至目的端的過程,它能夠?qū)Ω鞣N分布的、異構(gòu)的源數(shù)據(jù)(如關(guān)系數(shù)據(jù))進(jìn)行抽取,按照預(yù)先設(shè)計的規(guī)則將不完整數(shù)據(jù)、重復(fù)數(shù)據(jù)以及錯誤數(shù)據(jù)等“臟"數(shù)據(jù)內(nèi)容進(jìn)行清洗,得到符合要求的“干凈”數(shù)據(jù),并加載到數(shù)據(jù)倉庫中進(jìn)行存儲,這些“干凈”數(shù)據(jù)就成為了數(shù)據(jù)分析、數(shù)據(jù)挖掘的基石。


ETL是實(shí)現(xiàn)商務(wù)智能(Business Intelligence,BI)的核心。
一般情況下,ETL會花費(fèi)整個BI項目三分之一的時間,因此ETL設(shè)計得好壞直接影響B(tài)I項目的成敗。

企業(yè)中常用的ETL實(shí)現(xiàn)有多種方式,常見的方式如下。

(1)借助ETL工具(如Pentaho Kettle、Informatic等)。

(2)編寫SQL語句。

(3)將ETL工具和SQL語句結(jié)合起來使用。

上述3種實(shí)現(xiàn)方式各有利弊,其中第1種方式可以快速建立ETL工程,屏蔽復(fù)雜的編碼任務(wù)、加快速度和降低難度,但是缺少靈活性:第2種方式使用編寫SQL語句的方式優(yōu)占是靈活,可以提高ETL的運(yùn)行效率,但是編碼復(fù)雜,對技術(shù)要求比較高;第3種方式綜合了前面兩種方法的優(yōu)點(diǎn),可以極大地提高ETL的開發(fā)速度和效率。

ETL體系結(jié)構(gòu)

ETL主要是用來實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源數(shù)據(jù)集成的。多種數(shù)據(jù)源的所有原始數(shù)據(jù)大部分未作修改就被載人ETL,因而,無論數(shù)據(jù)源在關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫,還是在外部文件.集成后的數(shù)據(jù)都將被置于數(shù)據(jù)庫的數(shù)據(jù)表或數(shù)據(jù)倉庫的維度表中,以便在數(shù)據(jù)庫內(nèi)或數(shù)據(jù)倉庫中作進(jìn)一步轉(zhuǎn)換(因此,一般會將最終的數(shù)據(jù)存儲到數(shù)據(jù)庫或者數(shù)據(jù)倉庫中)。ETL的體系結(jié)構(gòu)如圖下所示。

ETL體系結(jié)構(gòu)

ETL體系結(jié)構(gòu)

在上圖中,若數(shù)據(jù)源1和數(shù)據(jù)源2均為功能較強(qiáng)大的DBMS(數(shù)據(jù)庫管理系統(tǒng)),則可以使用SQL語句完成一部分?jǐn)?shù)據(jù)清洗工作。但是,如果數(shù)據(jù)源為外部文件,就無法使用SQL語句進(jìn)行數(shù)據(jù)清洗工作了,只能直接從數(shù)據(jù)源中抽取出來,然后在數(shù)據(jù)轉(zhuǎn)換的時候進(jìn)行數(shù)據(jù)清洗的工作。因此,數(shù)據(jù)倉庫中的數(shù)據(jù)清洗工作主要還是在數(shù)據(jù)轉(zhuǎn)換的時候進(jìn)行。清洗好的數(shù)據(jù)將保存到目標(biāo)數(shù)據(jù)庫中,用于后續(xù)的數(shù)據(jù)分析、數(shù)據(jù)挖掘以及商業(yè)智能。



猜你喜歡:

Zookeeper是什么?有哪些顯著特點(diǎn)?

怎樣定義Scala數(shù)組?數(shù)組遍歷和數(shù)組轉(zhuǎn)換是怎樣操作的?

?maplotib API介紹

黑馬程序員python+大數(shù)據(jù)培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!