etl工具有哪些 為什么建數(shù)據(jù)倉庫需要使用ETL工具?
為什么建數(shù)據(jù)倉庫需要使用ETL工具?數(shù)據(jù)倉庫是一個(gè)戰(zhàn)略集合,為各級(jí)決策過程提供各種數(shù)據(jù)支持。它是為分析報(bào)告和決策支持目的而創(chuàng)建的單個(gè)數(shù)據(jù)存儲(chǔ)。由于要獲取所有的數(shù)據(jù),必然涉及到多系統(tǒng)、多類型數(shù)據(jù)庫的對(duì)接
為什么建數(shù)據(jù)倉庫需要使用ETL工具?
數(shù)據(jù)倉庫是一個(gè)戰(zhàn)略集合,為各級(jí)決策過程提供各種數(shù)據(jù)支持。它是為分析報(bào)告和決策支持目的而創(chuàng)建的單個(gè)數(shù)據(jù)存儲(chǔ)。由于要獲取所有的數(shù)據(jù),必然涉及到多系統(tǒng)、多類型數(shù)據(jù)庫的對(duì)接問題,以及數(shù)據(jù)的提取和整理問題。
此時(shí),ETL工具的功能體現(xiàn)在數(shù)據(jù)提取、轉(zhuǎn)換和加載的過程中,直至用于人們的分析。ETL是數(shù)據(jù)抽取、轉(zhuǎn)換和加載的過程。
在某些地方,可以先在轉(zhuǎn)換中選擇和加載ELT。對(duì)于日志倉庫,ETL首先要考慮業(yè)務(wù)需求,最后數(shù)據(jù)登陸模型要體現(xiàn)一定的主題。
一般來說,數(shù)據(jù)倉庫就像一個(gè)大的池。水池的供水需要水泵和水管,ETL負(fù)責(zé)水泵和水管的功能。
數(shù)據(jù)倉庫ETL到底是什么?
ETL工作的實(shí)質(zhì)是從各種數(shù)據(jù)源中提取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后通過數(shù)據(jù)倉庫的維度建模,將數(shù)據(jù)加載并填充到表中。只有填寫了這些維度/事實(shí)表,ETL工作才能完成。接下來,分別闡述了提取、轉(zhuǎn)換和加載的三個(gè)步驟:數(shù)據(jù)倉庫面向分析,操作數(shù)據(jù)庫面向應(yīng)用。顯然,并非所有用于支持業(yè)務(wù)系統(tǒng)的數(shù)據(jù)都是分析所必需的。因此,本階段主要根據(jù)數(shù)據(jù)倉庫主題和主題字段確定從應(yīng)用數(shù)據(jù)庫中提取的編號(hào)。
在具體的開發(fā)過程中,開發(fā)人員必須經(jīng)常發(fā)現(xiàn)數(shù)據(jù)倉庫建模后某些ETL步驟與表描述不匹配。這時(shí),需要重新檢查和設(shè)計(jì)需求,重新進(jìn)行ETL。正如本文在數(shù)據(jù)庫系列中提到的,任何涉及需求的更改都需要重新開始并更新需求文檔。
轉(zhuǎn)換步驟主要是指轉(zhuǎn)換提取的數(shù)據(jù)結(jié)構(gòu)以滿足目標(biāo)數(shù)據(jù)倉庫模型的過程。此外,轉(zhuǎn)換過程還對(duì)數(shù)據(jù)質(zhì)量負(fù)責(zé),這也稱為數(shù)據(jù)清洗。這里可以參考數(shù)據(jù)質(zhì)量的內(nèi)容。
在加載過程中,為確保數(shù)據(jù)質(zhì)量而提取和轉(zhuǎn)換的數(shù)據(jù)將加載到目標(biāo)數(shù)據(jù)倉庫中。加載可以分為兩種類型:首次加載和刷新加載。其中,首次加載會(huì)涉及大量數(shù)據(jù),而刷新加載是一種微批量加載。
我們可以說,隨著各種分布式和云計(jì)算工具的興起,ETL實(shí)際上已經(jīng)成為ELT。也就是說,業(yè)務(wù)系統(tǒng)本身不會(huì)做轉(zhuǎn)換工作,而是將數(shù)據(jù)導(dǎo)入到分布式平臺(tái)進(jìn)行簡單清洗后,讓平臺(tái)進(jìn)行清洗和轉(zhuǎn)換工作。這樣可以充分利用平臺(tái)的分布式特點(diǎn),使業(yè)務(wù)系統(tǒng)更加專注于業(yè)務(wù)本身。