數(shù)據(jù)倉庫ETL實施方案_第1頁
數(shù)據(jù)倉庫ETL實施方案_第2頁
數(shù)據(jù)倉庫ETL實施方案_第3頁
數(shù)據(jù)倉庫ETL實施方案_第4頁
數(shù)據(jù)倉庫ETL實施方案_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)倉庫-ETL實施方案

為什么需要ETLETL過程ETL策略與實施方法ETL工具ETL開發(fā)流程規(guī)范ETL數(shù)據(jù)質(zhì)量管理ETL成功實施案例分析為什么需要ETL為什么需要ETLETL在數(shù)據(jù)倉庫體系結(jié)構(gòu)中位ETL在數(shù)據(jù)倉庫中的地位ETL與數(shù)據(jù)模型為什么需要ETL為什么要做ETL,而不是直接利用數(shù)據(jù)?

這個原因有多種多樣,比如可能原始數(shù)據(jù)量太大,需要加以提煉;可能業(yè)務(wù)數(shù)據(jù)的服務(wù)器面臨性能壓力,不希望分析工作影響性能;可能源數(shù)據(jù)的異構(gòu)性和低質(zhì)量,需要加以規(guī)范;還有可能有些數(shù)據(jù)直接利用起來有困難。數(shù)據(jù)加載到中央數(shù)據(jù)倉庫和一些特定的數(shù)據(jù)集市中提供動態(tài)查詢(ADHoc)提供分析提供數(shù)據(jù)挖掘的數(shù)據(jù)源倉庫數(shù)據(jù)源于多個系統(tǒng),數(shù)據(jù)一致性問題

主要多個源業(yè)務(wù)系統(tǒng)可能存在對統(tǒng)一個編碼解釋和類型等等問題,數(shù)據(jù)整合方便進一步的數(shù)據(jù)分析和挖掘。為什么需要ETL“Vertical”BusinessAnalysisOperationsLegalFinanceMarketingDistributed(DataMarts)OperationsLegalFinanceMarketingEmployeesEquipmentMovementsLocationsExpensesCustomersCentralized(Enterprise)“Horizontal”BusinessAnalysisETL在數(shù)據(jù)倉庫體系結(jié)構(gòu)中位置ETL1ETL2ETL在數(shù)據(jù)倉庫中的地位ETL無法直接體現(xiàn)數(shù)據(jù)倉庫的價值數(shù)據(jù)倉庫的應(yīng)用越多、越復雜,對ETL的要求越高ETL是整個數(shù)據(jù)倉庫的“地基”成功的數(shù)據(jù)倉庫必須有成功的ETL的支持數(shù)據(jù)抽取對源系統(tǒng)影響最小能夠靈活變動適應(yīng)源系統(tǒng)的改變高效的數(shù)據(jù)加載和數(shù)據(jù)轉(zhuǎn)換能夠根據(jù)業(yè)務(wù)人員的需求在規(guī)定的時間窗口內(nèi)完成ETL能夠滿足動態(tài)數(shù)據(jù)倉庫對ETL的需求ETL與數(shù)據(jù)模型ETL過程ETL方法ETL六大本質(zhì)ETL數(shù)據(jù)整合全過程ETL規(guī)劃ETL設(shè)計ETL物理體系架構(gòu)ETL體系結(jié)構(gòu)ETL優(yōu)化ETL異常原因和處理方法ETL方法E-數(shù)據(jù)抽取歷史數(shù)據(jù):來自介質(zhì)或數(shù)據(jù)庫,批量處理增量數(shù)據(jù):來自相關(guān)系統(tǒng),每日抽取T-數(shù)據(jù)轉(zhuǎn)換格式轉(zhuǎn)換數(shù)據(jù)清洗……ETL方式E-T-LE-L-TE-T-L-T(Teradata強大的并行處理能力)L-數(shù)據(jù)加載歷史數(shù)據(jù):一次性批量加載增量數(shù)據(jù):每日加載,自動ETL六大本質(zhì)本質(zhì)一過程

ETL的過程就是數(shù)據(jù)流動的過程,從不同異構(gòu)數(shù)據(jù)源流向統(tǒng)一的目標數(shù)據(jù)。其間,數(shù)據(jù)的抽取、清洗、轉(zhuǎn)換和裝載形成串行或并行的過程。其中元數(shù)據(jù)采集和流程控制非常重要。本質(zhì)二分類

ETL工具都是價格昂貴,能夠處理海量數(shù)據(jù)的家伙,針對不同的需求,主要是從轉(zhuǎn)換規(guī)則的復雜度和數(shù)據(jù)量大小來看主要分4類:交互式運行環(huán)境;專門編碼型的;代碼生成器型的;最后還有一種類型叫做數(shù)據(jù)集線器,顧名思義,他就是像Hub一樣地工作。本質(zhì)三轉(zhuǎn)化

ETL過程最復雜的部分就是T,T研究過程主要有宏觀輸入輸出(大小交,大大交,站著進來,躺著出去,聚集等等);微觀規(guī)則(直接映射,字段運算,參照轉(zhuǎn)換,字符串處理,空值判斷,日期轉(zhuǎn)換等等)。ETL六大本質(zhì)(續(xù))本質(zhì)四數(shù)據(jù)質(zhì)量“不要絕對的數(shù)據(jù)準確,但要知道為什么不準確?!边@是我們在構(gòu)建BI系統(tǒng)是對數(shù)據(jù)準確性的要求。常見導致數(shù)據(jù)質(zhì)量的問題:數(shù)據(jù)格式錯誤;數(shù)據(jù)一致性;業(yè)務(wù)邏輯的合理性.ETL過程中對數(shù)據(jù)準確性產(chǎn)生重大影響有:規(guī)則描述錯誤;ETL開發(fā)錯誤;人為處理錯誤。本質(zhì)五質(zhì)量保證

提到ETL數(shù)據(jù)質(zhì)量問題,這是無法根治的,只能采取特定的手段去盡量避免,而且必須要定義出度量方法來衡量數(shù)據(jù)的質(zhì)量是好還是壞。首先,必須有一個對質(zhì)量的度量方法,什么是高質(zhì)什么是低質(zhì),不能靠感官感覺;其次,建立數(shù)據(jù)驗證框架,主要包括提高前端,提供架構(gòu)和規(guī)范流程。本質(zhì)六元數(shù)據(jù)慢談

元數(shù)據(jù)體現(xiàn)是一種抽象,哲學家從古至今都在抽象這個世界,力圖找到世界的本質(zhì)。抽象不是一層關(guān)系,它是一種逐步由具體到一般的過程。ETL數(shù)據(jù)整合全過程加載策略合理提高整體加載時間滿足業(yè)務(wù)分析需求時間窗口設(shè)計合理數(shù)據(jù)抽取數(shù)據(jù)整合數(shù)據(jù)清洗簡單,方便,靈活采用自動化工具動態(tài)調(diào)度和監(jiān)控支持ETL服務(wù)器擴展開發(fā)工具運行平臺轉(zhuǎn)化加載策略ETL規(guī)劃ETL設(shè)計與數(shù)據(jù)倉庫體系結(jié)構(gòu)設(shè)計ETL設(shè)計是數(shù)據(jù)倉庫體系結(jié)構(gòu)設(shè)計的一部分ETL設(shè)計需要考慮的幾個方面:數(shù)據(jù)倉庫同各業(yè)務(wù)系統(tǒng)的網(wǎng)絡(luò)連接網(wǎng)絡(luò)速度各個時段的負載網(wǎng)絡(luò)安全各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理周期各個源系統(tǒng)的數(shù)據(jù)庫平臺、應(yīng)用軟件及操作系統(tǒng)各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)量峰值及數(shù)據(jù)抽取與轉(zhuǎn)換能力數(shù)據(jù)倉庫引擎的數(shù)據(jù)加載和數(shù)據(jù)轉(zhuǎn)換能力前端業(yè)務(wù)用戶對數(shù)據(jù)刷新周期的需求ETL設(shè)計與數(shù)據(jù)倉庫引擎選擇數(shù)據(jù)倉庫引擎的數(shù)據(jù)處理能力直接關(guān)系到數(shù)據(jù)清洗、轉(zhuǎn)換的流程Teradata的ETL原則是盡量使用Teradata的并行處理能力支持多種客戶端平臺SCOAIXHP-UXOS400…支持多種數(shù)據(jù)導入接口和數(shù)據(jù)訪問接口ODBCJDBCOLEDBCLI支持各類主流的ERP、數(shù)據(jù)挖掘、系統(tǒng)集成軟件平臺ETL物理系統(tǒng)架構(gòu)ETL體系結(jié)構(gòu)ETL體系結(jié)構(gòu)(續(xù))DesignManager:提供一個圖形化的映射關(guān)系,讓開發(fā)者定義從源到目標的映射關(guān)系、轉(zhuǎn)換和處理Metadatamanagement:提供一個關(guān)于ETL設(shè)計和運行相關(guān)處理等相關(guān)定義、管理信息的元數(shù)據(jù)庫Extract:通過接口提取源數(shù)據(jù)Transform:開發(fā)者將提取的數(shù)據(jù),按照業(yè)務(wù)需要轉(zhuǎn)換為目標數(shù)據(jù)結(jié)構(gòu)Load:加載轉(zhuǎn)換后的數(shù)據(jù)到目標數(shù)據(jù)倉庫Transportservices:利用網(wǎng)絡(luò)協(xié)議或者文件協(xié)議在源和目標系統(tǒng)之間某著名企業(yè)數(shù)據(jù)Administrationandoperation:管理員基于時間和事件進行調(diào)度、運行和監(jiān)控ETL優(yōu)化SQL級別優(yōu)化主要索引,關(guān)聯(lián)方式的優(yōu)化等等。加載策略優(yōu)化主要采取增量方式提高加載數(shù)據(jù)時間等等業(yè)務(wù)邏輯優(yōu)化

主要通過修復取數(shù)邏輯,采取有效合理的方式優(yōu)化ETL加載。網(wǎng)絡(luò)傳輸優(yōu)化改善網(wǎng)絡(luò)條件,提高加載速度。硬件配置優(yōu)化

主要優(yōu)化服務(wù)器硬件配置和升級。數(shù)據(jù)庫配置優(yōu)化

主要優(yōu)化數(shù)據(jù)庫,建立合理索引等等

ETL異常原因和處理方法

考慮導致異常發(fā)生的原因,有一些會導致ETL功能上的異常,如流程運行失敗,或是導致數(shù)據(jù)正確性的異常,大致可以分為以下五類。有一些是硬性的,有一些是軟性的,有一些是環(huán)境導致的,有一些是流程導致的。包括硬件、操作系統(tǒng)、網(wǎng)絡(luò)導致異常;數(shù)據(jù)源數(shù)據(jù)傳輸、質(zhì)量導致異常;ETL過程處理導致異常;目標數(shù)據(jù)模型導致異常;開發(fā)、維護階段人工干預導致異常;硬件、操作系統(tǒng)、網(wǎng)絡(luò)導致異常第一種異常原因是外部環(huán)境造成的,通常是我們不可控的因素,當然也有一些是我們可以通過程序避免的。例如

a.網(wǎng)絡(luò)中斷。這種情況可能在某一段時間內(nèi)頻頻發(fā)生這種情況,導致ETL中斷,針對這種原因,能作的就是重新裝載;

b.系統(tǒng)崩潰。由于ETL服務(wù)器系統(tǒng)不穩(wěn)定,因為非程序原因發(fā)生系統(tǒng)崩潰,造成ETL中斷,重新裝載數(shù)據(jù);

c.系統(tǒng)資源不足。當ETL服務(wù)器處理大量數(shù)據(jù)時,可能因為對數(shù)據(jù)估計不足造成資源耗盡,ETL中斷。建議優(yōu)化ETL過程,重新裝載;

d.外圍系統(tǒng)連接不上。這有可能是開放給目標系統(tǒng)的時間窗沒有按時打開,也有可能是外圍系統(tǒng)本身出現(xiàn)故障連接不上。對此,我們需要采用第五種處理方法,反復嘗試。數(shù)據(jù)源數(shù)據(jù)傳輸、質(zhì)量導致異常接口沒有按約定的數(shù)據(jù)周期提供,例如原則上某一天有數(shù)據(jù),但實際接口中無數(shù)據(jù)。對此中情況,提交錯誤報告給接口方修正后,重新裝載;數(shù)據(jù)源系統(tǒng)表結(jié)構(gòu)或接口規(guī)格發(fā)生變化而沒有同步,接口無法訪問。建議能夠?qū)υ幢斫Y(jié)構(gòu)進行檢測,一旦發(fā)生變更,終止裝載;接口數(shù)據(jù)在約定的時間窗內(nèi)沒有完全獲取過來。由于對數(shù)據(jù)量估計不足,或是本身時間窗約定太小,只是數(shù)據(jù)沒有抽取完畢,中斷ETL。此中情況,建議優(yōu)化ETL過程,盡量縮短抽取的時間窗,再重新裝載;接口數(shù)據(jù)內(nèi)容不規(guī)范,導致轉(zhuǎn)換錯誤,中斷ETL或是reject數(shù)據(jù);由于數(shù)據(jù)源缺乏空值檢查、外鍵約束等一致性檢查,或是手工數(shù)據(jù)等原因,致使數(shù)據(jù)轉(zhuǎn)換過程中很多失敗。對此類原因,要求能夠盡量對可能的錯誤數(shù)據(jù)進行判斷處理,要求能夠在不影響數(shù)據(jù)邏輯的前提下,最大限度接收而不拒絕數(shù)據(jù)。因為數(shù)據(jù)內(nèi)容錯誤的形式多樣化,因此需要不斷在測試過程中發(fā)現(xiàn)這些錯誤,并及時修正ETL過程以適當處理他們。ETL過程處理導致異常ETL規(guī)則錯誤。由于在最初數(shù)據(jù)源到目標數(shù)據(jù)的映射關(guān)系理解、表述錯誤,導致數(shù)據(jù)裝入后的數(shù)據(jù)正確性問題。修改規(guī)則、實現(xiàn),重新裝載;ETL實現(xiàn)錯誤。在既定ETL規(guī)則下,具體實現(xiàn)沒有按照規(guī)則設(shè)計或者細節(jié)發(fā)生疏漏,導致最終裝入的數(shù)據(jù)存在正確性問題。修改實現(xiàn),重新裝載;目標數(shù)據(jù)模型導致異常主要是因為目標數(shù)據(jù)模型隨著應(yīng)用或是數(shù)據(jù)源發(fā)生變動時,因為數(shù)據(jù)結(jié)構(gòu)發(fā)生變更,造成ETL過程不可用。針對這種原因,建議能夠檢測到結(jié)構(gòu)變更,終止裝載。開發(fā)、維護階段人工干預導致異常原則上,在ETL過程不允工的操作,但正是因為有很多異常的處理方法是手工干預,因此又不可避免會發(fā)生此類異常。例如誤刪某批數(shù)據(jù)、重復裝入某批數(shù)據(jù)等。因此,為避免這類錯誤,要規(guī)范手工干預流程。如:

a.限定手工干預只能運行某個流程,不允單個過程;b.不允臨時的SQL語句操縱數(shù)據(jù)庫,必須編寫好的SQL腳本或存儲過程;c.每一項手工操作必須留下記錄;ETL策略與實施步驟ETL加載模式ETL加載算法ETL實施步驟ETL加載模式完全刷新

數(shù)據(jù)倉庫數(shù)據(jù)表中只包括最新的數(shù)據(jù),每次加載均刪除原有數(shù)據(jù),然后完全加載最新的源數(shù)據(jù)。鏡像增量

源數(shù)據(jù)中的記錄定期更新,但記錄中包括記錄時間字段,源數(shù)據(jù)中保存了數(shù)據(jù)歷史的記錄,ETL可以通過記錄時間將增量數(shù)據(jù)從源數(shù)據(jù)抽取出來以附加的方式加載到數(shù)據(jù)倉庫中,數(shù)據(jù)的歷史記錄也會被保留在數(shù)據(jù)倉庫中。事件增量

每一個記錄是一個新的事件,相互之間沒有必然的聯(lián)系,新記錄不是對原有記錄數(shù)值的變更,記錄包括時間字段,可以通過時間字段將新增數(shù)據(jù)抽取出來加載到數(shù)據(jù)庫中。鏡像比較

數(shù)據(jù)倉庫數(shù)據(jù)具有生效日期字段以保存數(shù)據(jù)的歷史信息,而源數(shù)據(jù)不保留歷史并且每天都可能被更新。ETL加載算法對數(shù)據(jù)變化都要記錄嗎結(jié)束根據(jù)業(yè)務(wù)分析要求F3策略當前數(shù)據(jù)對歷史數(shù)據(jù)有影響嗎需要基于日期的連續(xù)歷史軌跡嗎I策略F2策略F1策略YESNOYESNONOYESETL加載算法(續(xù))F1算法采取全量加載策略,刪除目標表全部數(shù)據(jù),插入新數(shù)據(jù)方式:Deleteall,thenInsert。F2算法

采取主鍵比對方式增量加載數(shù)據(jù),方式是UpdateandInsert。

F3算法

采取根據(jù)主鍵進行歷史拉鏈,反應(yīng)數(shù)據(jù)的歷史變更情況,方式HistoryChain。I算法采取根據(jù)日期增量加載數(shù)據(jù),方式I-Append

。

ETL加載算法(續(xù))

-以古代笑話為例,詳述F1,F2,F3,I有一個人肚子餓了,到燒餅鋪買燒餅吃。吃了一個沒飽,又吃一個還是沒飽,一連吃了七個燒餅才吃飽。吃完第七個燒餅以后,這個人就后悔啦:“咳,早知道第七個燒餅能吃飽,我還吃前頭那六個干什么呀!”

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽8:008:058:10ETL加載算法(續(xù))-F1算法

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽8:008:058:10

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽ETL加載算法(續(xù))-F2算法

8:05燒餅4(個)10成飽

8:10燒餅7(個)10成飽

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽8:008:058:10

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽ETL加載算法(續(xù))-F3算法

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽8:008:058:10燒餅2(個)6成飽8:0024:00燒餅2(個)3成飽8:0024:00最大時間24:00燒餅2(個)6成飽8:008:05燒餅4(個)10成飽8:0524:00燒餅2(個)3成飽8:008:05燒餅4(個)8成飽8:0524:00燒餅2(個)6成飽8:008:05燒餅4(個)10成飽8:058:10燒餅2(個)3成飽8:008:05燒餅4(個)8成飽8:058:10燒餅7(個)10成飽8:1024:00

ETL加載算法(續(xù))-I算法

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽8:008:058:10

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽

8:05燒餅4(個)10成飽

8:05燒餅4(個)8成飽

8:10燒餅7(個)10成飽

8:00燒餅2(個)6成飽

8:00燒餅2(個)3成飽ETL策略的復雜度-性能角度F3策略I策略F2策略F1策略高低ETL策略對源數(shù)據(jù)提供方式的要求ETL策略要求I增量(而且增量數(shù)據(jù)對歷史數(shù)據(jù)無影響,即無需更新,如果有影響,則需要F2策略)F1全量F2全量F3全量因此

ETL策略的選擇-要綜合考慮業(yè)務(wù)要求、性能、源系統(tǒng)可以提供數(shù)據(jù)的方式等幾個方面。

要不然,都搞成歷史拉鏈,變化的歷史軌跡都記錄,多好!ETL實施步驟第一步:數(shù)據(jù)源確認數(shù)據(jù)源是指相對于數(shù)據(jù)倉庫項目數(shù)據(jù)獲取的來源,例如綜合業(yè)務(wù)系統(tǒng)、中間業(yè)務(wù)系統(tǒng)、電子銀行系統(tǒng)等數(shù)據(jù)源確認包括數(shù)據(jù)的傳輸形式(文件、數(shù)據(jù)庫表),數(shù)據(jù)源的操作系統(tǒng)(IBMMVS/VSE/VM、UNIX、WINNT/W2K等),數(shù)據(jù)源的數(shù)據(jù)庫系統(tǒng)(DB2、ORACLE、SYBASE等)各源系統(tǒng)到達目標數(shù)據(jù)倉庫的數(shù)據(jù)傳輸途徑(網(wǎng)絡(luò)、磁帶、磁盤、人工輸入等)網(wǎng)絡(luò)傳輸?shù)膸捳{(diào)查與數(shù)據(jù)量的估算數(shù)據(jù)源到中心數(shù)據(jù)倉庫的數(shù)據(jù)傳送方式:主動發(fā)送/等待接收,對于等待接收的情況,要明確數(shù)據(jù)抽取時間ETL實施步驟第二步:源數(shù)據(jù)的確認源數(shù)據(jù)指的是各個源系統(tǒng)中的每一個數(shù)據(jù)庫表或抽取出來的數(shù)據(jù)文件確認源數(shù)據(jù)的抽取周期(每日、每周、每月、近實時等)確認源數(shù)據(jù)的抽取方式:增量抽取/全量抽取,并確定初始抽取策略確認源數(shù)據(jù)的文件格式:數(shù)據(jù)的編碼方式ASCII/EBCDIC數(shù)據(jù)文件的記錄組織形式,固定或可變長度數(shù)據(jù)文件的記錄分割符,字段分割符是否為打包的壓縮文件ETL實施步驟第三步:數(shù)據(jù)的轉(zhuǎn)換針對每個數(shù)據(jù)源確認數(shù)據(jù)的轉(zhuǎn)換規(guī)則,每個字段應(yīng)該與數(shù)據(jù)倉庫中的哪哪個字段對應(yīng),或某個字段為某特定值時,對數(shù)據(jù)倉庫中的表進行不同的處理等源數(shù)據(jù)與目標數(shù)據(jù)表的映射關(guān)系可能為:一對一一對多多對一多對多ETL實施步驟第四步:ETL流程的實現(xiàn)實現(xiàn)源數(shù)據(jù)的抽取定義ETL任務(wù),實現(xiàn)數(shù)據(jù)加載和轉(zhuǎn)換根據(jù)源數(shù)據(jù)與目標表的對應(yīng)關(guān)系,定義ETL任務(wù)間的依賴關(guān)系,觸發(fā)關(guān)系ETL工具數(shù)據(jù)抽取/加載工具ETL流程控制軟件一體化腳本生成工具一鍵式自動化上線工具ETL流程管理:NCTETLAutomationETL平臺:TeradataWarehouseBuilder數(shù)據(jù)加載工具:Fastload數(shù)據(jù)批量更新工具:MultiLoad數(shù)據(jù)近實時加載工具:TPump數(shù)據(jù)輸出工具:FastExport

ETL產(chǎn)品數(shù)據(jù)平臺-ETL產(chǎn)品運行在HP-UX、AIX、Solaris、WindowsNT/200、NCRMP-RAS、MVS…ETL:ABInitio,INFORMATICA,Hummingbird,ETIDataQuality:FirstLogic/PostalsoftETLDataDiscovery:EvokeSoftwareEAI:

Vitria,TrilliumSoftware

ETL合作伙伴數(shù)據(jù)平臺-ETL合作伙伴ETL平臺與工具的選擇ETL平臺既要靈活,又要足夠可靠各個地區(qū)、各個系統(tǒng)的數(shù)據(jù)到達時間不同,調(diào)整也會較多確保數(shù)據(jù)之間的依賴關(guān)系支持多種編程工具和腳本ETLAutomation數(shù)據(jù)倉庫引擎應(yīng)提供多種數(shù)據(jù)加載工具,滿足不同的數(shù)據(jù)加載需求高效大批量的導入工具同時對多表操作的導入工具實時的抽取加載工具ETL——工具抽取工具(Fastexport、bcp、sqlplus等)傳輸工具FTP……加載工具FastLoadMultiLoadTpumpTeraBuilder……ETL流程管理工具ETLAutomation第三方產(chǎn)品……ETLAutomation概況運行環(huán)境:Windows2000/XP/2003Perl封裝實現(xiàn)加載流程自動化管理數(shù)據(jù)倉庫自動化管理支持多服務(wù)器并行圖形化的管理和監(jiān)控并行多ETL服務(wù)器配置ETLAutomation支持多ETL加載服務(wù)器PrimaryServerSecondaryServer服務(wù)器獨立完成各自的作業(yè)各服務(wù)器有各自的加載作業(yè)腳本服務(wù)器的狀態(tài)由PrimaryServer統(tǒng)一監(jiān)控統(tǒng)一的流程控制服務(wù)器內(nèi)作業(yè)并行服務(wù)器之間作業(yè)并行并行多ETL服務(wù)器配置ETLAutomation軟件之目錄結(jié)構(gòu)抽取的數(shù)據(jù)文件存放的位置定義接收到的文件經(jīng)過清洗的文件……加載成功的文件加載失敗的文件……/ETL|--/APP|-----/$SYS|---------/$JOB|-------------/bin|-------------/ddl|--/DATA|-----plete|-----/fail|--------/corrupt|--------/duplicate|--------/error|--------/unknown|-----/process|-----/queue|-----/receive|--/LOG|-----/$DATE|--/bin|--/etc|--/lock|--/tmpETLRepositoryETLAutomation知識庫(etlrepository)建立在Teradata數(shù)據(jù)庫中RepositoryTables可分為兩類:配置表(用戶維護)和日志表(系統(tǒng)維護)ETLAutomation的參數(shù)設(shè)置依賴于RepositoryTables中的配置表ETLAutomation在運行過程中不斷地向RepositoryTables讀寫記錄RepositoryTables表名用途類別ETL_Sys系統(tǒng)配置表用戶維護(常用)ETL_Job作業(yè)配置表用戶維護(常用)ETL_Job_Source源作業(yè)配置表用戶維護(常用)ETL_Job_Stream作業(yè)觸發(fā)關(guān)系配置表用戶維護(常用)ETL_Job_Dependency作業(yè)依賴關(guān)系配置表用戶維護(常用)ETL_Job_Group作業(yè)組配置表用戶維護(常用)ETL_Job_GroupChild作業(yè)組成員配置表用戶維護(常用)ETL_Job_TimeWindow作業(yè)時間窗口配置表用戶維護(常用)ETL_ServerDWAutomation客戶端配置表用戶維護(常用)DataCalendar日歷表,用于檢查作業(yè)日期用戶維護(可選)DataCalendarYear日歷年表用戶維護(可選)ETL_RelatedJob相關(guān)作業(yè)配置表用戶維護(可選)ETL_Notification自動發(fā)郵件、短信配置表用戶維護(可選)ETL_User自動發(fā)郵件、短信目標用戶表用戶維護(可選)ETL_UserGroup自動發(fā)郵件、短信目標用戶組表用戶維護(可選)ETL_GroupMember自動發(fā)郵件、短信目標用戶組成員表用戶維護(可選)RepositoryTables(Cont.)表名用途類別ETL_TimeTrigger定點觸發(fā)配置表用戶維護(可選)ETL_TimeTrigger_Calendar定制定時作業(yè)定義表用戶維護(可選)ETL_TimeTrigger_Monthly月定時作業(yè)定義表用戶維護(可選)ETL_TimeTrigger_Weekly周定時作業(yè)定義表用戶維護(可選)ETL_Received_File數(shù)據(jù)文件信息表,用于load作業(yè)系統(tǒng)維護ETL_Record_Log加載記錄信息表,用于load作業(yè)系統(tǒng)維護ETL_Job_Status作業(yè)狀態(tài)表,用于所有作業(yè)系統(tǒng)維護ETL_Job_Log作業(yè)日志表,用于所有作業(yè)系統(tǒng)維護ETL_Job_Queue作業(yè)隊列表,用于定時作業(yè)和異地作業(yè)系統(tǒng)維護ETL_Job_Trace作業(yè)跟蹤表,用于定時作業(yè)系統(tǒng)維護ETL_Event事件表,用于監(jiān)控所有作業(yè)的運行狀態(tài)系統(tǒng)維護ETLAutomation的功能加載作業(yè)的圖形化設(shè)置、維護和修改以數(shù)據(jù)驅(qū)動的作業(yè)自動執(zhí)行協(xié)調(diào)作業(yè)執(zhí)行的相互關(guān)系作業(yè)組管理作業(yè)日志管理數(shù)據(jù)定時清理支持多加載服務(wù)器作業(yè)并行處理加載作業(yè)的實時監(jiān)控加載作業(yè)的遠程報警-Email開放的加載作業(yè)數(shù)據(jù)接口ETL——作業(yè)每一個數(shù)據(jù)源文件從抽取到整合進入數(shù)據(jù)倉庫包括多個步驟可以定義成一個或多個作業(yè)ETL——流程ETL的作業(yè)組成了ETL的流程每個流程包括一個或多個作業(yè)整個流程根據(jù)數(shù)據(jù)周期自動運行作業(yè)的依賴關(guān)系在流程中確定流程和作業(yè)的觸發(fā)無依賴關(guān)系的作業(yè)是完全并行的自動的流水處理降低了出錯的概率、提高了效率ETL圖形管理工具圖形化界面管理作業(yè)設(shè)置作業(yè)監(jiān)控日志檢查作業(yè)執(zhí)行功能設(shè)置ETL的維護結(jié)合元數(shù)據(jù)管理等工具,對ETL進行維護在應(yīng)用擴展、變動時,根據(jù)對ETL的影響調(diào)整ETL程序或流程處理日常ETL過程中的問題:數(shù)據(jù)格式錯誤文件傳輸錯誤……一體化腳本生成工具一體化腳本生成工具主要實現(xiàn)變更實體-SDM模板手動填寫SDM實體設(shè)計文檔通過解析SDM設(shè)計文檔生成腳本一鍵式上線工具

針對上線變更操作中手動參與過多,結(jié)合客戶需求我們開發(fā)一鍵式半自動上線工具。處理流程如圖所示:一鍵式上線工具

操作界面如下:

提供上線資源清理上線變更失敗回滾動態(tài)檢測每步結(jié)果操作簡單ETL開發(fā)流程規(guī)范SDM設(shè)計規(guī)范ETL腳本開發(fā)規(guī)范ETL腳本數(shù)據(jù)類型轉(zhuǎn)化規(guī)范歷史修復處理規(guī)范ETL腳本測試案例規(guī)范調(diào)度任務(wù)配置規(guī)范提交物命名規(guī)范

針對ETL開發(fā)每個環(huán)節(jié)有相關(guān)的規(guī)范文檔,保證開發(fā)質(zhì)量,提高開發(fā)效率。ETL數(shù)據(jù)質(zhì)量管理通過規(guī)范和測試驗證ETL過程數(shù)據(jù)的正確性數(shù)據(jù)質(zhì)量校驗(技術(shù)+業(yè)務(wù))定期數(shù)據(jù)質(zhì)量報告

提到ETL數(shù)據(jù)質(zhì)量問題,這是無法根治的,只能采取特定的手段去盡量避免,而且必須要定義出度量方法來衡量數(shù)據(jù)的質(zhì)量是好還是壞。首先,必須有一個對質(zhì)量的度量方法,什么是高質(zhì)什么是低質(zhì),不能靠感官感覺;其次,建立數(shù)據(jù)驗證框架,主要包括提高前端,提供架構(gòu)和規(guī)范流程。ETL實施成功案例分析上海某著名企業(yè)數(shù)據(jù)倉庫ETL實施案案例分析:上海某著名企業(yè)BI系統(tǒng)ETL體系架構(gòu)ETL典型流程DWAutomation調(diào)度和控制多維數(shù)據(jù)庫Teradata數(shù)據(jù)庫接收數(shù)據(jù)源確認、映射

源數(shù)據(jù)數(shù)據(jù)區(qū)臨時數(shù)據(jù)區(qū)ETL控制數(shù)據(jù)多維數(shù)據(jù)生成數(shù)據(jù)更新和生成清洗和轉(zhuǎn)換轉(zhuǎn)換數(shù)據(jù)備份數(shù)據(jù)檢查加載

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論