翻譯自:https://www.tutorialspoint.com/etl_testing/etl_testing_introduction.htm
在數(shù)據(jù)倉庫中的數(shù)據(jù)是用一個ETL(抽取垫竞,轉(zhuǎn)換蛙吏,加載)工具加載的挥等。如字面意思扬虚,它需要下面的操作:
- 從事務(wù)系統(tǒng)像Oracle,MySql或者其他的關(guān)系型數(shù)據(jù)庫抽取數(shù)據(jù)
- 通過數(shù)據(jù)清理操作轉(zhuǎn)換數(shù)據(jù)
- 加載數(shù)據(jù)到OLAP數(shù)據(jù)倉庫
你也可以是用ETL工具從平面文件中像spreadsheets和CSV文件抽取數(shù)據(jù),然后加載它到OLAP數(shù)據(jù)倉庫中方便分析和報告咸包。讓我們舉一個例子來更好的理解它。
例子
讓我們假設(shè)有一個制造公司有銷售战惊,人力資源缩挑,材料管理但两,EWM等多個部門,所有這些部門都有獨立的數(shù)據(jù)庫供置,用于維護(hù)信息的工作谨湘,每個數(shù)據(jù)庫都有不同的技術(shù),landscape芥丧,表格名稱紧阔,列等。現(xiàn)在娄柳,如果公司想要分析歷史數(shù)據(jù)并生成報告寓辱,那么這些數(shù)據(jù)源的所有數(shù)據(jù)都應(yīng)該被提取并加載到數(shù)據(jù)倉庫中以將其保存以進(jìn)行分析工作艘绍。
ETL工具從所有這些異構(gòu)數(shù)據(jù)源中提取數(shù)據(jù)赤拒,轉(zhuǎn)換數(shù)據(jù)(如應(yīng)用計算,連接字段诱鞠,密鑰挎挖,刪除不正確的數(shù)據(jù)字段等),并將其加載到數(shù)據(jù)倉庫中航夺。之后蕉朵,您可以使用各種商業(yè)智能(BI)工具,使用此數(shù)據(jù)生成有意義的報告阳掐,儀表板和可視化始衅。
ETL和BI工具之間的區(qū)別
一個ETL工具常常從不同的數(shù)據(jù)源抽取數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)缭保,然后加載到DW系統(tǒng)汛闸;然而一個BI的工具常常用于為最終用戶生成交互式和特別的報告,高級管理儀表盤艺骂,月度诸老,季度和年度董事會議的數(shù)據(jù)可視化。
最常見的ETL工具包括-SAP BO Data Services (BODS), Informatica – Power Center, Microsoft – SSIS, Oracle Data Integrator ODI, Talend Open Studio, Clover ETL Open source等等钳恕。
一些流行的BI工具包括? SAP Business Objects, SAP Lumira, IBM Cognos, JasperSoft, Microsoft BI Platform, Tableau, Oracle Business Intelligence Enterprise Edition等等别伏。
ETL流程
讓我們更詳細(xì)地討論下一些ETL程序關(guān)鍵步驟
抽取數(shù)據(jù)
它涉及到從不同的異構(gòu)數(shù)據(jù)源中抽取數(shù)據(jù)蹄衷。交易系統(tǒng)的數(shù)據(jù)抽取根據(jù)需求和使用的ETL工具而異。它通常通過在營業(yè)時間運(yùn)行定好的任務(wù)厘肮,像在晚上或者在周末的運(yùn)行任務(wù)愧口。
轉(zhuǎn)換數(shù)據(jù)
它涉及將數(shù)據(jù)轉(zhuǎn)換成可以容易的加載到DW系統(tǒng)中的合適的格式。數(shù)據(jù)轉(zhuǎn)換在數(shù)據(jù)上的應(yīng)用計算类茂,連接和定義主鍵和外鍵调卑。例如,如果想要的總收入百分比數(shù)據(jù)不再數(shù)據(jù)庫中大咱,你可以用在轉(zhuǎn)換中用百分比公式并且加載數(shù)據(jù)恬涧。同樣,如果有姓和名在不同的列中碴巾,然后你可以在加載數(shù)據(jù)前用一個連接操作溯捆。一些數(shù)據(jù)不需要任何轉(zhuǎn)換,這些數(shù)據(jù)稱為直接移動或通過數(shù)據(jù)厦瓢。
數(shù)據(jù)轉(zhuǎn)換也涉及數(shù)據(jù)修正和清理提揍,移除不正確的數(shù)據(jù),不完整的數(shù)據(jù)形成煮仇,以及修復(fù)數(shù)據(jù)錯誤劳跃。它也包括數(shù)據(jù)的完整性和格式化不兼容的數(shù)據(jù),然后加載到DW系統(tǒng)浙垫。
加載數(shù)據(jù)到DW系統(tǒng)
它涉及加載數(shù)據(jù)到DW系統(tǒng)進(jìn)行分析報告和信息刨仑。目標(biāo)系統(tǒng)可以是一個簡單分隔的平面文件或者數(shù)據(jù)倉庫。
ETL工具功能
一個典型的基于ETL的數(shù)據(jù)倉庫使用階段區(qū)域夹姥,數(shù)據(jù)整合以及入口層來表現(xiàn)它的功能杉武。它通常是3層結(jié)構(gòu)。
- Staging Layer - 分級層或分級數(shù)據(jù)庫用于存儲從不同源數(shù)據(jù)系統(tǒng)抽取的數(shù)據(jù)
- Data Integration Layer - 數(shù)據(jù)集成層從分級層轉(zhuǎn)換并且將數(shù)據(jù)移動到數(shù)據(jù)庫辙售,這些數(shù)據(jù)排列成層次結(jié)構(gòu)轻抱,經(jīng)常稱為** dimensions(維度),以及facts(事實)和aggregate facts(聚合事實)旦部。在DW系統(tǒng)中事實表和維度表的組合稱為schema**(模式)祈搜。
- Access Layer - 接入層通常被最終用戶使用于分析報告和信息。
下面插圖展示了這三層是如何互相交互的士八。