首頁技術文章正文

ETL是什么技術?

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

1577370495235_學IT就到黑馬程序員.gif


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


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

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

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

(2)編寫SQL語句。

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

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

ETL體系結構

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

ETL體系結構

ETL體系結構

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



猜你喜歡:

Zookeeper是什么?有哪些顯著特點?

怎樣定義Scala數組?數組遍歷和數組轉換是怎樣操作的?

?maplotib API介紹

黑馬程序員python+大數據培訓課程

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