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

ETL是什么技術(shù)?

更新時(shí)間:2021-06-08 來(lái)源:黑馬程序員 瀏覽量:

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


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


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

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

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

(2)編寫SQL語(yǔ)句。

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

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

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

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

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

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

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



猜你喜歡:

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

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

?maplotib API介紹

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!