開(kāi)源etl工具哪個(gè)好 數(shù)據(jù)倉(cāng)庫(kù)ETL到底是什么?
數(shù)據(jù)倉(cāng)庫(kù)ETL到底是什么?ETL工作的實(shí)質(zhì)是從各種數(shù)據(jù)源中提取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后通過(guò)數(shù)據(jù)倉(cāng)庫(kù)的維度建模,將數(shù)據(jù)加載到表中并填充到表中。只有填寫(xiě)了這些維度/事實(shí)表,ETL工作才能完成。接下來(lái),分
數(shù)據(jù)倉(cāng)庫(kù)ETL到底是什么?
ETL工作的實(shí)質(zhì)是從各種數(shù)據(jù)源中提取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,最后通過(guò)數(shù)據(jù)倉(cāng)庫(kù)的維度建模,將數(shù)據(jù)加載到表中并填充到表中。只有填寫(xiě)了這些維度/事實(shí)表,ETL工作才能完成。接下來(lái),分別闡述了提取、轉(zhuǎn)換和加載的三個(gè)步驟:數(shù)據(jù)倉(cāng)庫(kù)面向分析,操作數(shù)據(jù)庫(kù)面向應(yīng)用。顯然,并非所有用于支持業(yè)務(wù)系統(tǒng)的數(shù)據(jù)都是分析所必需的。因此,本階段主要根據(jù)數(shù)據(jù)倉(cāng)庫(kù)主題和主題字段確定從應(yīng)用數(shù)據(jù)庫(kù)中提取的編號(hào)。
在具體的開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員必須經(jīng)常發(fā)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)建模后某些ETL步驟與表描述不匹配。這時(shí),需要重新檢查和設(shè)計(jì)需求,重新進(jìn)行ETL。正如本文在數(shù)據(jù)庫(kù)系列中提到的,任何涉及需求的更改都需要重新開(kāi)始并更新需求文檔。
轉(zhuǎn)換步驟主要是指轉(zhuǎn)換提取的數(shù)據(jù)結(jié)構(gòu)以滿(mǎn)足目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)模型的過(guò)程。此外,轉(zhuǎn)換過(guò)程還對(duì)數(shù)據(jù)質(zhì)量負(fù)責(zé),這也稱(chēng)為數(shù)據(jù)清洗。這里可以參考數(shù)據(jù)質(zhì)量的內(nèi)容。
在加載過(guò)程中,為確保數(shù)據(jù)質(zhì)量而提取和轉(zhuǎn)換的數(shù)據(jù)將加載到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)中。加載可以分為兩種類(lèi)型:首次加載和刷新加載。其中,首次加載會(huì)涉及大量數(shù)據(jù),而刷新加載是一種微批量加載。
我們可以說(shuō),隨著各種分布式和云計(jì)算工具的興起,ETL實(shí)際上已經(jīng)成為ELT。也就是說(shuō),業(yè)務(wù)系統(tǒng)本身不會(huì)做轉(zhuǎn)換工作,而是將數(shù)據(jù)導(dǎo)入到分布式平臺(tái)進(jìn)行簡(jiǎn)單清洗后,讓平臺(tái)進(jìn)行清洗和轉(zhuǎn)換工作。這樣可以充分利用平臺(tái)的分布式特點(diǎn),使業(yè)務(wù)系統(tǒng)更加專(zhuān)注于業(yè)務(wù)本身。
為什么建數(shù)據(jù)倉(cāng)庫(kù)需要使用ETL工具?
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)戰(zhàn)略集合,為各級(jí)決策過(guò)程提供各種數(shù)據(jù)支持。它是為分析報(bào)告和決策支持目的而創(chuàng)建的單個(gè)數(shù)據(jù)存儲(chǔ)。由于要獲取所有的數(shù)據(jù),必然涉及到多系統(tǒng)、多類(lèi)型數(shù)據(jù)庫(kù)的對(duì)接問(wèn)題,以及數(shù)據(jù)的提取和整理問(wèn)題。
此時(shí),ETL工具的功能體現(xiàn)在數(shù)據(jù)提取、轉(zhuǎn)換和加載的過(guò)程中,直至用于人們的分析。ETL是數(shù)據(jù)抽取、轉(zhuǎn)換和加載的過(guò)程。
在某些地方,可以先在轉(zhuǎn)換中選擇和加載ELT。對(duì)于日志倉(cāng)庫(kù),ETL首先要考慮業(yè)務(wù)需求,最后數(shù)據(jù)登陸模型要體現(xiàn)一定的主題。
一般來(lái)說(shuō),數(shù)據(jù)倉(cāng)庫(kù)就像一個(gè)大的池。水池的供水需要水泵和水管,ETL負(fù)責(zé)水泵和水管的功能。
BI軟件的ETL用開(kāi)源的好,還是自研的好?
這取決于預(yù)算
幾種ETL工具(kettle、talent、Informatica、datapipeline等)的比較
四種工具的比較主要從以下幾個(gè)方面進(jìn)行:
1。成本:
軟件成本包括很多方面,主要包括軟件產(chǎn)品、售前培訓(xùn)、售后咨詢(xún)、技術(shù)支持等
開(kāi)源產(chǎn)品本身是免費(fèi)的,成本主要是培訓(xùn)和咨詢(xún),所以成本始終保持在較低的水平。
商業(yè)產(chǎn)品的價(jià)格非常高,但通常會(huì)提供幾次免費(fèi)咨詢(xún)或支持,因此使用商業(yè)軟件的初始成本非常高,但會(huì)逐漸降低。
人工編碼初期成本不高,主要是人力成本,但后期維護(hù)工作量會(huì)越來(lái)越大。
2. 易用性:
datapipeline:GUI非常易于使用,具有豐富的視覺(jué)監(jiān)控;
kettle:GUI編碼;
Informatica:GUI編碼,具有GUI,但經(jīng)過(guò)特殊培訓(xùn);
talent:GUI編碼,具有GUI圖形界面,但具有eclipse 3。技能要求:
數(shù)據(jù)管道:操作簡(jiǎn)單,無(wú)技術(shù)要求;
水壺:ETL設(shè)計(jì),SQL,數(shù)據(jù)建模;
Informatica:ETL設(shè)計(jì),SQL,數(shù)據(jù)建模;
人才:需要編寫(xiě)Java;
4。底層架構(gòu):
datapipeline:分布式,水平可擴(kuò)展;
Ketter:主從結(jié)構(gòu)不高可用性;
Informatica:分布式;