教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

ETL的全量加載、增量加載以及批量加載

更新時間:2021年06月08日16時30分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

數(shù)據(jù)的加載是ETL的最后一個階段,它的主要任務(wù)是將數(shù)據(jù)從臨時數(shù)據(jù)表或文件中加載到指定的數(shù)據(jù)倉庫中。-般來說,可以通過編寫sQL語句和利用加載工具將數(shù)據(jù)加載到數(shù)據(jù)倉庫中。ETL的數(shù)據(jù)加載和數(shù)據(jù)抽取類似,將數(shù)據(jù)加載到目標數(shù)據(jù)表或者數(shù)據(jù)倉庫的過程中可分為全量加載、增量加載以及批量加載。下面詳細介紹一下ETL的全量加載、增量加載以及批量加載。


1.全量加載

全量加載是指全表刪除后再進行全部(全量)數(shù)據(jù)加載。從技術(shù)角度來說,全量加載和增量加載相比,全量加載更簡單。一般只需要在數(shù)據(jù)加載之前將目標表清空,再將源數(shù)據(jù)表中的數(shù)據(jù)進行導(dǎo)人。但是,由于數(shù)據(jù)量、系統(tǒng)資源和數(shù)據(jù)實時性的要求,很多情況下都需要使用增量加載機制。


2.增量加載

增量加載是指目標表僅更新源數(shù)據(jù)表中變化的數(shù)據(jù)。增量加載的關(guān)鍵在于如何正確設(shè)計相應(yīng)的方法,用于從源數(shù)據(jù)表中抽取增量的數(shù)據(jù),以及變化“牽連”數(shù)據(jù)(雖沒有變化,但受到變化數(shù)據(jù)影響的數(shù)據(jù))。同時,將這些變化的和未變化但受到影響的數(shù)據(jù),在完成相應(yīng)的邏輯轉(zhuǎn)換后更新到數(shù)據(jù)倉庫中。

數(shù)據(jù)加載的性能和作業(yè)失敗后可進行恢復(fù)重啟的易維護性,需要一個有效的增量抽取機制的支持。因為在-一個有效的增量抽取機制,ETL能夠?qū)I(yè)務(wù)系統(tǒng)中變化的數(shù)據(jù)按一定的頻率準確地進行捕獲,并且不會對業(yè)務(wù)系統(tǒng)造成太大的壓力,也不會影響現(xiàn)有的業(yè)務(wù)。

ETL的增量加載類似于增量抽取,同樣有4種方式,分別是時間戳方式、日志表方式、全表對比方式、全表刪除插入方式,具體介紹如下所示。

(1)時間戳方式,即在業(yè)務(wù)表中統(tǒng)-添加-個字段作為時間戳,當聯(lián)機分析處理(OLAP)系統(tǒng)更新修改業(yè)務(wù)數(shù)據(jù)時,同時也會修改時間戳字段值,這時就將更新修改的數(shù)據(jù)加載到目標表中。

(2)日志表方式,即在OLAP系統(tǒng)中添加日志表,業(yè)務(wù)數(shù)據(jù)發(fā)生變化時,更新維護日志表內(nèi)容。

(3)全表對比方式,即抽取所有源數(shù)據(jù),在加載目標表之前先根據(jù)主鍵和字段進行數(shù)據(jù)比對,有更新的數(shù)據(jù)就進行更新或插入。

(4)全表刪除插入方式,刪除目標表中的數(shù)據(jù),將源數(shù)據(jù)表中的數(shù)據(jù)全部加載到目標表中。


3.批量加載

通常,對于幾十萬條記錄的數(shù)據(jù)遷移而言,采取DML(數(shù)據(jù)操縱語言)的insert、update、delete等語句能夠較好地將數(shù)據(jù)遷移到目標數(shù)據(jù)庫中。然而,當數(shù)據(jù)遷移量過大時,DML語句執(zhí)行時生成的事物日志(事務(wù)日志是一個與數(shù)據(jù)庫文件分開的文件,用于存儲對數(shù)據(jù)庫進行的所有更改,并全部記錄插人、更新、刪除、提交、回退和數(shù)據(jù)庫模式變化)和約束條件將大大影響加載性能,故需要針對數(shù)據(jù)采取批量加載處理。



猜你喜歡:

Hadoop如何實現(xiàn)二次排序?

數(shù)據(jù)倉庫的結(jié)構(gòu)詳細介紹

大數(shù)據(jù)Hadoop生態(tài)圈包含哪些子系統(tǒng)?

傳智教育高級python+大數(shù)據(jù)培訓(xùn)課程

0 分享到:
和我們在線交談!