




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)倉(cāng)庫(kù)-ETL實(shí)施方案
為什么需要ETLETL過(guò)程ETL策略與實(shí)施方法ETL工具ETL開發(fā)流程規(guī)范ETL數(shù)據(jù)質(zhì)量管理ETL成功實(shí)施案例分析為什么需要ETL為什么需要ETLETL在數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)中位ETL在數(shù)據(jù)倉(cāng)庫(kù)中的地位ETL與數(shù)據(jù)模型為什么需要ETL為什么要做ETL,而不是直接利用數(shù)據(jù)?
這個(gè)原因有多種多樣,比如可能原始數(shù)據(jù)量太大,需要加以提煉;可能業(yè)務(wù)數(shù)據(jù)的服務(wù)器面臨性能壓力,不希望分析工作影響性能;可能源數(shù)據(jù)的異構(gòu)性和低質(zhì)量,需要加以規(guī)范;還有可能有些數(shù)據(jù)直接利用起來(lái)有困難。數(shù)據(jù)加載到中央數(shù)據(jù)倉(cāng)庫(kù)和一些特定的數(shù)據(jù)集市中提供動(dòng)態(tài)查詢(ADHoc)提供分析提供數(shù)據(jù)挖掘的數(shù)據(jù)源倉(cāng)庫(kù)數(shù)據(jù)源于多個(gè)系統(tǒng),數(shù)據(jù)一致性問(wèn)題
主要多個(gè)源業(yè)務(wù)系統(tǒng)可能存在對(duì)統(tǒng)一個(gè)編碼解釋和類型等等問(wèn)題,數(shù)據(jù)整合方便進(jìn)一步的數(shù)據(jù)分析和挖掘。為什么需要ETL“Vertical”BusinessAnalysisOperationsLegalFinanceMarketingDistributed(DataMarts)OperationsLegalFinanceMarketingEmployeesEquipmentMovementsLocationsExpensesCustomersCentralized(Enterprise)“Horizontal”BusinessAnalysisETL在數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)中位置ETL1ETL2ETL在數(shù)據(jù)倉(cāng)庫(kù)中的地位ETL無(wú)法直接體現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)的價(jià)值數(shù)據(jù)倉(cāng)庫(kù)的應(yīng)用越多、越復(fù)雜,對(duì)ETL的要求越高ETL是整個(gè)數(shù)據(jù)倉(cāng)庫(kù)的“地基”成功的數(shù)據(jù)倉(cāng)庫(kù)必須有成功的ETL的支持?jǐn)?shù)據(jù)抽取對(duì)源系統(tǒng)影響最小能夠靈活變動(dòng)適應(yīng)源系統(tǒng)的改變高效的數(shù)據(jù)加載和數(shù)據(jù)轉(zhuǎn)換能夠根據(jù)業(yè)務(wù)人員的需求在規(guī)定的時(shí)間窗口內(nèi)完成ETL能夠滿足動(dòng)態(tài)數(shù)據(jù)倉(cāng)庫(kù)對(duì)ETL的需求ETL與數(shù)據(jù)模型ETL過(guò)程ETL方法ETL六大本質(zhì)ETL數(shù)據(jù)整合全過(guò)程ETL規(guī)劃ETL設(shè)計(jì)ETL物理體系架構(gòu)ETL體系結(jié)構(gòu)ETL優(yōu)化ETL異常原因和處理方法ETL方法E-數(shù)據(jù)抽取歷史數(shù)據(jù):來(lái)自介質(zhì)或數(shù)據(jù)庫(kù),批量處理增量數(shù)據(jù):來(lái)自相關(guān)系統(tǒng),每日抽取T-數(shù)據(jù)轉(zhuǎn)換格式轉(zhuǎn)換數(shù)據(jù)清洗……ETL方式E-T-LE-L-TE-T-L-T(Teradata強(qiáng)大的并行處理能力)L-數(shù)據(jù)加載歷史數(shù)據(jù):一次性批量加載增量數(shù)據(jù):每日加載,自動(dòng)ETL六大本質(zhì)本質(zhì)一過(guò)程
ETL的過(guò)程就是數(shù)據(jù)流動(dòng)的過(guò)程,從不同異構(gòu)數(shù)據(jù)源流向統(tǒng)一的目標(biāo)數(shù)據(jù)。其間,數(shù)據(jù)的抽取、清洗、轉(zhuǎn)換和裝載形成串行或并行的過(guò)程。其中元數(shù)據(jù)采集和流程控制非常重要。本質(zhì)二分類
ETL工具都是價(jià)格昂貴,能夠處理海量數(shù)據(jù)的家伙,針對(duì)不同的需求,主要是從轉(zhuǎn)換規(guī)則的復(fù)雜度和數(shù)據(jù)量大小來(lái)看主要分4類:交互式運(yùn)行環(huán)境;專門編碼型的;代碼生成器型的;最后還有一種類型叫做數(shù)據(jù)集線器,顧名思義,他就是像Hub一樣地工作。本質(zhì)三轉(zhuǎn)化
ETL過(guò)程最復(fù)雜的部分就是T,T研究過(guò)程主要有宏觀輸入輸出(大小交,大大交,站著進(jìn)來(lái),躺著出去,聚集等等);微觀規(guī)則(直接映射,字段運(yùn)算,參照轉(zhuǎn)換,字符串處理,空值判斷,日期轉(zhuǎn)換等等)。ETL六大本質(zhì)(續(xù))本質(zhì)四數(shù)據(jù)質(zhì)量“不要絕對(duì)的數(shù)據(jù)準(zhǔn)確,但要知道為什么不準(zhǔn)確?!边@是我們?cè)跇?gòu)建BI系統(tǒng)是對(duì)數(shù)據(jù)準(zhǔn)確性的要求。常見導(dǎo)致數(shù)據(jù)質(zhì)量的問(wèn)題:數(shù)據(jù)格式錯(cuò)誤;數(shù)據(jù)一致性;業(yè)務(wù)邏輯的合理性.ETL過(guò)程中對(duì)數(shù)據(jù)準(zhǔn)確性產(chǎn)生重大影響有:規(guī)則描述錯(cuò)誤;ETL開發(fā)錯(cuò)誤;人為處理錯(cuò)誤。本質(zhì)五質(zhì)量保證
提到ETL數(shù)據(jù)質(zhì)量問(wèn)題,這是無(wú)法根治的,只能采取特定的手段去盡量避免,而且必須要定義出度量方法來(lái)衡量數(shù)據(jù)的質(zhì)量是好還是壞。首先,必須有一個(gè)對(duì)質(zhì)量的度量方法,什么是高質(zhì)什么是低質(zhì),不能靠感官感覺(jué);其次,建立數(shù)據(jù)驗(yàn)證框架,主要包括提高前端,提供架構(gòu)和規(guī)范流程。本質(zhì)六元數(shù)據(jù)慢談
元數(shù)據(jù)體現(xiàn)是一種抽象,哲學(xué)家從古至今都在抽象這個(gè)世界,力圖找到世界的本質(zhì)。抽象不是一層關(guān)系,它是一種逐步由具體到一般的過(guò)程。ETL數(shù)據(jù)整合全過(guò)程加載策略合理提高整體加載時(shí)間滿足業(yè)務(wù)分析需求時(shí)間窗口設(shè)計(jì)合理數(shù)據(jù)抽取數(shù)據(jù)整合數(shù)據(jù)清洗簡(jiǎn)單,方便,靈活采用自動(dòng)化工具動(dòng)態(tài)調(diào)度和監(jiān)控支持ETL服務(wù)器擴(kuò)展開發(fā)工具運(yùn)行平臺(tái)轉(zhuǎn)化加載策略ETL規(guī)劃ETL設(shè)計(jì)與數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)設(shè)計(jì)ETL設(shè)計(jì)是數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)設(shè)計(jì)的一部分ETL設(shè)計(jì)需要考慮的幾個(gè)方面:數(shù)據(jù)倉(cāng)庫(kù)同各業(yè)務(wù)系統(tǒng)的網(wǎng)絡(luò)連接網(wǎng)絡(luò)速度各個(gè)時(shí)段的負(fù)載網(wǎng)絡(luò)安全各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)處理周期各個(gè)源系統(tǒng)的數(shù)據(jù)庫(kù)平臺(tái)、應(yīng)用軟件及操作系統(tǒng)各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)量峰值及數(shù)據(jù)抽取與轉(zhuǎn)換能力數(shù)據(jù)倉(cāng)庫(kù)引擎的數(shù)據(jù)加載和數(shù)據(jù)轉(zhuǎn)換能力前端業(yè)務(wù)用戶對(duì)數(shù)據(jù)刷新周期的需求ETL設(shè)計(jì)與數(shù)據(jù)倉(cāng)庫(kù)引擎選擇數(shù)據(jù)倉(cāng)庫(kù)引擎的數(shù)據(jù)處理能力直接關(guān)系到數(shù)據(jù)清洗、轉(zhuǎn)換的流程Teradata的ETL原則是盡量使用Teradata的并行處理能力支持多種客戶端平臺(tái)SCOAIXHP-UXOS400…支持多種數(shù)據(jù)導(dǎo)入接口和數(shù)據(jù)訪問(wèn)接口ODBCJDBCOLEDBCLI支持各類主流的ERP、數(shù)據(jù)挖掘、系統(tǒng)集成軟件平臺(tái)ETL物理系統(tǒng)架構(gòu)ETL體系結(jié)構(gòu)ETL體系結(jié)構(gòu)(續(xù))DesignManager:提供一個(gè)圖形化的映射關(guān)系,讓開發(fā)者定義從源到目標(biāo)的映射關(guān)系、轉(zhuǎn)換和處理Metadatamanagement:提供一個(gè)關(guān)于ETL設(shè)計(jì)和運(yùn)行相關(guān)處理等相關(guān)定義、管理信息的元數(shù)據(jù)庫(kù)Extract:通過(guò)接口提取源數(shù)據(jù)Transform:開發(fā)者將提取的數(shù)據(jù),按照業(yè)務(wù)需要轉(zhuǎn)換為目標(biāo)數(shù)據(jù)結(jié)構(gòu)Load:加載轉(zhuǎn)換后的數(shù)據(jù)到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)Transportservices:利用網(wǎng)絡(luò)協(xié)議或者文件協(xié)議在源和目標(biāo)系統(tǒng)之間某著名企業(yè)數(shù)據(jù)Administrationandoperation:管理員基于時(shí)間和事件進(jìn)行調(diào)度、運(yùn)行和監(jiān)控ETL優(yōu)化SQL級(jí)別優(yōu)化主要索引,關(guān)聯(lián)方式的優(yōu)化等等。加載策略優(yōu)化主要采取增量方式提高加載數(shù)據(jù)時(shí)間等等業(yè)務(wù)邏輯優(yōu)化
主要通過(guò)修復(fù)取數(shù)邏輯,采取有效合理的方式優(yōu)化ETL加載。網(wǎng)絡(luò)傳輸優(yōu)化改善網(wǎng)絡(luò)條件,提高加載速度。硬件配置優(yōu)化
主要優(yōu)化服務(wù)器硬件配置和升級(jí)。數(shù)據(jù)庫(kù)配置優(yōu)化
主要優(yōu)化數(shù)據(jù)庫(kù),建立合理索引等等
ETL異常原因和處理方法
考慮導(dǎo)致異常發(fā)生的原因,有一些會(huì)導(dǎo)致ETL功能上的異常,如流程運(yùn)行失敗,或是導(dǎo)致數(shù)據(jù)正確性的異常,大致可以分為以下五類。有一些是硬性的,有一些是軟性的,有一些是環(huán)境導(dǎo)致的,有一些是流程導(dǎo)致的。包括硬件、操作系統(tǒng)、網(wǎng)絡(luò)導(dǎo)致異常;數(shù)據(jù)源數(shù)據(jù)傳輸、質(zhì)量導(dǎo)致異常;ETL過(guò)程處理導(dǎo)致異常;目標(biāo)數(shù)據(jù)模型導(dǎo)致異常;開發(fā)、維護(hù)階段人工干預(yù)導(dǎo)致異常;硬件、操作系統(tǒng)、網(wǎng)絡(luò)導(dǎo)致異常第一種異常原因是外部環(huán)境造成的,通常是我們不可控的因素,當(dāng)然也有一些是我們可以通過(guò)程序避免的。例如
a.網(wǎng)絡(luò)中斷。這種情況可能在某一段時(shí)間內(nèi)頻頻發(fā)生這種情況,導(dǎo)致ETL中斷,針對(duì)這種原因,能作的就是重新裝載;
b.系統(tǒng)崩潰。由于ETL服務(wù)器系統(tǒng)不穩(wěn)定,因?yàn)榉浅绦蛟虬l(fā)生系統(tǒng)崩潰,造成ETL中斷,重新裝載數(shù)據(jù);
c.系統(tǒng)資源不足。當(dāng)ETL服務(wù)器處理大量數(shù)據(jù)時(shí),可能因?yàn)閷?duì)數(shù)據(jù)估計(jì)不足造成資源耗盡,ETL中斷。建議優(yōu)化ETL過(guò)程,重新裝載;
d.外圍系統(tǒng)連接不上。這有可能是開放給目標(biāo)系統(tǒng)的時(shí)間窗沒(méi)有按時(shí)打開,也有可能是外圍系統(tǒng)本身出現(xiàn)故障連接不上。對(duì)此,我們需要采用第五種處理方法,反復(fù)嘗試。數(shù)據(jù)源數(shù)據(jù)傳輸、質(zhì)量導(dǎo)致異常接口沒(méi)有按約定的數(shù)據(jù)周期提供,例如原則上某一天有數(shù)據(jù),但實(shí)際接口中無(wú)數(shù)據(jù)。對(duì)此中情況,提交錯(cuò)誤報(bào)告給接口方修正后,重新裝載;數(shù)據(jù)源系統(tǒng)表結(jié)構(gòu)或接口規(guī)格發(fā)生變化而沒(méi)有同步,接口無(wú)法訪問(wèn)。建議能夠?qū)υ幢斫Y(jié)構(gòu)進(jìn)行檢測(cè),一旦發(fā)生變更,終止裝載;接口數(shù)據(jù)在約定的時(shí)間窗內(nèi)沒(méi)有完全獲取過(guò)來(lái)。由于對(duì)數(shù)據(jù)量估計(jì)不足,或是本身時(shí)間窗約定太小,只是數(shù)據(jù)沒(méi)有抽取完畢,中斷ETL。此中情況,建議優(yōu)化ETL過(guò)程,盡量縮短抽取的時(shí)間窗,再重新裝載;接口數(shù)據(jù)內(nèi)容不規(guī)范,導(dǎo)致轉(zhuǎn)換錯(cuò)誤,中斷ETL或是reject數(shù)據(jù);由于數(shù)據(jù)源缺乏空值檢查、外鍵約束等一致性檢查,或是手工數(shù)據(jù)等原因,致使數(shù)據(jù)轉(zhuǎn)換過(guò)程中很多失敗。對(duì)此類原因,要求能夠盡量對(duì)可能的錯(cuò)誤數(shù)據(jù)進(jìn)行判斷處理,要求能夠在不影響數(shù)據(jù)邏輯的前提下,最大限度接收而不拒絕數(shù)據(jù)。因?yàn)閿?shù)據(jù)內(nèi)容錯(cuò)誤的形式多樣化,因此需要不斷在測(cè)試過(guò)程中發(fā)現(xiàn)這些錯(cuò)誤,并及時(shí)修正ETL過(guò)程以適當(dāng)處理他們。ETL過(guò)程處理導(dǎo)致異常ETL規(guī)則錯(cuò)誤。由于在最初數(shù)據(jù)源到目標(biāo)數(shù)據(jù)的映射關(guān)系理解、表述錯(cuò)誤,導(dǎo)致數(shù)據(jù)裝入后的數(shù)據(jù)正確性問(wèn)題。修改規(guī)則、實(shí)現(xiàn),重新裝載;ETL實(shí)現(xiàn)錯(cuò)誤。在既定ETL規(guī)則下,具體實(shí)現(xiàn)沒(méi)有按照規(guī)則設(shè)計(jì)或者細(xì)節(jié)發(fā)生疏漏,導(dǎo)致最終裝入的數(shù)據(jù)存在正確性問(wèn)題。修改實(shí)現(xiàn),重新裝載;目標(biāo)數(shù)據(jù)模型導(dǎo)致異常主要是因?yàn)槟繕?biāo)數(shù)據(jù)模型隨著應(yīng)用或是數(shù)據(jù)源發(fā)生變動(dòng)時(shí),因?yàn)閿?shù)據(jù)結(jié)構(gòu)發(fā)生變更,造成ETL過(guò)程不可用。針對(duì)這種原因,建議能夠檢測(cè)到結(jié)構(gòu)變更,終止裝載。開發(fā)、維護(hù)階段人工干預(yù)導(dǎo)致異常原則上,在ETL過(guò)程不允工的操作,但正是因?yàn)橛泻芏喈惓5奶幚矸椒ㄊ鞘止じ深A(yù),因此又不可避免會(huì)發(fā)生此類異常。例如誤刪某批數(shù)據(jù)、重復(fù)裝入某批數(shù)據(jù)等。因此,為避免這類錯(cuò)誤,要規(guī)范手工干預(yù)流程。如:
a.限定手工干預(yù)只能運(yùn)行某個(gè)流程,不允單個(gè)過(guò)程;b.不允臨時(shí)的SQL語(yǔ)句操縱數(shù)據(jù)庫(kù),必須編寫好的SQL腳本或存儲(chǔ)過(guò)程;c.每一項(xiàng)手工操作必須留下記錄;ETL策略與實(shí)施步驟ETL加載模式ETL加載算法ETL實(shí)施步驟ETL加載模式完全刷新
數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)表中只包括最新的數(shù)據(jù),每次加載均刪除原有數(shù)據(jù),然后完全加載最新的源數(shù)據(jù)。鏡像增量
源數(shù)據(jù)中的記錄定期更新,但記錄中包括記錄時(shí)間字段,源數(shù)據(jù)中保存了數(shù)據(jù)歷史的記錄,ETL可以通過(guò)記錄時(shí)間將增量數(shù)據(jù)從源數(shù)據(jù)抽取出來(lái)以附加的方式加載到數(shù)據(jù)倉(cāng)庫(kù)中,數(shù)據(jù)的歷史記錄也會(huì)被保留在數(shù)據(jù)倉(cāng)庫(kù)中。事件增量
每一個(gè)記錄是一個(gè)新的事件,相互之間沒(méi)有必然的聯(lián)系,新記錄不是對(duì)原有記錄數(shù)值的變更,記錄包括時(shí)間字段,可以通過(guò)時(shí)間字段將新增數(shù)據(jù)抽取出來(lái)加載到數(shù)據(jù)庫(kù)中。鏡像比較
數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)具有生效日期字段以保存數(shù)據(jù)的歷史信息,而源數(shù)據(jù)不保留歷史并且每天都可能被更新。ETL加載算法對(duì)數(shù)據(jù)變化都要記錄嗎結(jié)束根據(jù)業(yè)務(wù)分析要求F3策略當(dāng)前數(shù)據(jù)對(duì)歷史數(shù)據(jù)有影響嗎需要基于日期的連續(xù)歷史軌跡嗎I策略F2策略F1策略YESNOYESNONOYESETL加載算法(續(xù))F1算法采取全量加載策略,刪除目標(biāo)表全部數(shù)據(jù),插入新數(shù)據(jù)方式:Deleteall,thenInsert。F2算法
采取主鍵比對(duì)方式增量加載數(shù)據(jù),方式是UpdateandInsert。
F3算法
采取根據(jù)主鍵進(jìn)行歷史拉鏈,反應(yīng)數(shù)據(jù)的歷史變更情況,方式HistoryChain。I算法采取根據(jù)日期增量加載數(shù)據(jù),方式I-Append
。
ETL加載算法(續(xù))
-以古代笑話為例,詳述F1,F2,F3,I有一個(gè)人肚子餓了,到燒餅鋪買燒餅吃。吃了一個(gè)沒(méi)飽,又吃一個(gè)還是沒(méi)飽,一連吃了七個(gè)燒餅才吃飽。吃完第七個(gè)燒餅以后,這個(gè)人就后悔啦:“咳,早知道第七個(gè)燒餅?zāi)艹燥枺疫€吃前頭那六個(gè)干什么呀!”
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽8:008:058:10ETL加載算法(續(xù))-F1算法
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽8:008:058:10
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽ETL加載算法(續(xù))-F2算法
8:05燒餅4(個(gè))10成飽
8:10燒餅7(個(gè))10成飽
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽8:008:058:10
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽ETL加載算法(續(xù))-F3算法
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽8:008:058:10燒餅2(個(gè))6成飽8:0024:00燒餅2(個(gè))3成飽8:0024:00最大時(shí)間24:00燒餅2(個(gè))6成飽8:008:05燒餅4(個(gè))10成飽8:0524:00燒餅2(個(gè))3成飽8:008:05燒餅4(個(gè))8成飽8:0524:00燒餅2(個(gè))6成飽8:008:05燒餅4(個(gè))10成飽8:058:10燒餅2(個(gè))3成飽8:008:05燒餅4(個(gè))8成飽8:058:10燒餅7(個(gè))10成飽8:1024:00
ETL加載算法(續(xù))-I算法
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽8:008:058:10
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽
8:05燒餅4(個(gè))10成飽
8:05燒餅4(個(gè))8成飽
8:10燒餅7(個(gè))10成飽
8:00燒餅2(個(gè))6成飽
8:00燒餅2(個(gè))3成飽ETL策略的復(fù)雜度-性能角度F3策略I策略F2策略F1策略高低ETL策略對(duì)源數(shù)據(jù)提供方式的要求ETL策略要求I增量(而且增量數(shù)據(jù)對(duì)歷史數(shù)據(jù)無(wú)影響,即無(wú)需更新,如果有影響,則需要F2策略)F1全量F2全量F3全量因此
ETL策略的選擇-要綜合考慮業(yè)務(wù)要求、性能、源系統(tǒng)可以提供數(shù)據(jù)的方式等幾個(gè)方面。
要不然,都搞成歷史拉鏈,變化的歷史軌跡都記錄,多好!ETL實(shí)施步驟第一步:數(shù)據(jù)源確認(rèn)數(shù)據(jù)源是指相對(duì)于數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目數(shù)據(jù)獲取的來(lái)源,例如綜合業(yè)務(wù)系統(tǒng)、中間業(yè)務(wù)系統(tǒng)、電子銀行系統(tǒng)等數(shù)據(jù)源確認(rèn)包括數(shù)據(jù)的傳輸形式(文件、數(shù)據(jù)庫(kù)表),數(shù)據(jù)源的操作系統(tǒng)(IBMMVS/VSE/VM、UNIX、WINNT/W2K等),數(shù)據(jù)源的數(shù)據(jù)庫(kù)系統(tǒng)(DB2、ORACLE、SYBASE等)各源系統(tǒng)到達(dá)目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)傳輸途徑(網(wǎng)絡(luò)、磁帶、磁盤、人工輸入等)網(wǎng)絡(luò)傳輸?shù)膸捳{(diào)查與數(shù)據(jù)量的估算數(shù)據(jù)源到中心數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)傳送方式:主動(dòng)發(fā)送/等待接收,對(duì)于等待接收的情況,要明確數(shù)據(jù)抽取時(shí)間ETL實(shí)施步驟第二步:源數(shù)據(jù)的確認(rèn)源數(shù)據(jù)指的是各個(gè)源系統(tǒng)中的每一個(gè)數(shù)據(jù)庫(kù)表或抽取出來(lái)的數(shù)據(jù)文件確認(rèn)源數(shù)據(jù)的抽取周期(每日、每周、每月、近實(shí)時(shí)等)確認(rèn)源數(shù)據(jù)的抽取方式:增量抽取/全量抽取,并確定初始抽取策略確認(rèn)源數(shù)據(jù)的文件格式:數(shù)據(jù)的編碼方式ASCII/EBCDIC數(shù)據(jù)文件的記錄組織形式,固定或可變長(zhǎng)度數(shù)據(jù)文件的記錄分割符,字段分割符是否為打包的壓縮文件ETL實(shí)施步驟第三步:數(shù)據(jù)的轉(zhuǎn)換針對(duì)每個(gè)數(shù)據(jù)源確認(rèn)數(shù)據(jù)的轉(zhuǎn)換規(guī)則,每個(gè)字段應(yīng)該與數(shù)據(jù)倉(cāng)庫(kù)中的哪哪個(gè)字段對(duì)應(yīng),或某個(gè)字段為某特定值時(shí),對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的表進(jìn)行不同的處理等源數(shù)據(jù)與目標(biāo)數(shù)據(jù)表的映射關(guān)系可能為:一對(duì)一一對(duì)多多對(duì)一多對(duì)多ETL實(shí)施步驟第四步:ETL流程的實(shí)現(xiàn)實(shí)現(xiàn)源數(shù)據(jù)的抽取定義ETL任務(wù),實(shí)現(xiàn)數(shù)據(jù)加載和轉(zhuǎn)換根據(jù)源數(shù)據(jù)與目標(biāo)表的對(duì)應(yīng)關(guān)系,定義ETL任務(wù)間的依賴關(guān)系,觸發(fā)關(guān)系ETL工具數(shù)據(jù)抽取/加載工具ETL流程控制軟件一體化腳本生成工具一鍵式自動(dòng)化上線工具ETL流程管理:NCTETLAutomationETL平臺(tái):TeradataWarehouseBuilder數(shù)據(jù)加載工具:Fastload數(shù)據(jù)批量更新工具:MultiLoad數(shù)據(jù)近實(shí)時(shí)加載工具:TPump數(shù)據(jù)輸出工具:FastExport
ETL產(chǎn)品數(shù)據(jù)平臺(tái)-ETL產(chǎn)品運(yùn)行在HP-UX、AIX、Solaris、WindowsNT/200、NCRMP-RAS、MVS…ETL:ABInitio,INFORMATICA,Hummingbird,ETIDataQuality:FirstLogic/PostalsoftETLDataDiscovery:EvokeSoftwareEAI:
Vitria,TrilliumSoftware
ETL合作伙伴數(shù)據(jù)平臺(tái)-ETL合作伙伴ETL平臺(tái)與工具的選擇ETL平臺(tái)既要靈活,又要足夠可靠各個(gè)地區(qū)、各個(gè)系統(tǒng)的數(shù)據(jù)到達(dá)時(shí)間不同,調(diào)整也會(huì)較多確保數(shù)據(jù)之間的依賴關(guān)系支持多種編程工具和腳本ETLAutomation數(shù)據(jù)倉(cāng)庫(kù)引擎應(yīng)提供多種數(shù)據(jù)加載工具,滿足不同的數(shù)據(jù)加載需求高效大批量的導(dǎo)入工具同時(shí)對(duì)多表操作的導(dǎo)入工具實(shí)時(shí)的抽取加載工具ETL——工具抽取工具(Fastexport、bcp、sqlplus等)傳輸工具FTP……加載工具FastLoadMultiLoadTpumpTeraBuilder……ETL流程管理工具ETLAutomation第三方產(chǎn)品……ETLAutomation概況運(yùn)行環(huán)境:Windows2000/XP/2003Perl封裝實(shí)現(xiàn)加載流程自動(dòng)化管理數(shù)據(jù)倉(cāng)庫(kù)自動(dòng)化管理支持多服務(wù)器并行圖形化的管理和監(jiān)控并行多ETL服務(wù)器配置ETLAutomation支持多ETL加載服務(wù)器PrimaryServerSecondaryServer服務(wù)器獨(dú)立完成各自的作業(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)過(guò)清洗的文件……加載成功的文件加載失敗的文件……/ETL|--/APP|-----/$SYS|---------/$JOB|-------------/bin|-------------/ddl|--/DATA|-----plete|-----/fail|--------/corrupt|--------/duplicate|--------/error|--------/unknown|-----/process|-----/queue|-----/receive|--/LOG|-----/$DATE|--/bin|--/etc|--/lock|--/tmpETLRepositoryETLAutomation知識(shí)庫(kù)(etlrepository)建立在Teradata數(shù)據(jù)庫(kù)中RepositoryTables可分為兩類:配置表(用戶維護(hù))和日志表(系統(tǒng)維護(hù))ETLAutomation的參數(shù)設(shè)置依賴于RepositoryTables中的配置表ETLAutomation在運(yùn)行過(guò)程中不斷地向RepositoryTables讀寫記錄RepositoryTables表名用途類別ETL_Sys系統(tǒng)配置表用戶維護(hù)(常用)ETL_Job作業(yè)配置表用戶維護(hù)(常用)ETL_Job_Source源作業(yè)配置表用戶維護(hù)(常用)ETL_Job_Stream作業(yè)觸發(fā)關(guān)系配置表用戶維護(hù)(常用)ETL_Job_Dependency作業(yè)依賴關(guān)系配置表用戶維護(hù)(常用)ETL_Job_Group作業(yè)組配置表用戶維護(hù)(常用)ETL_Job_GroupChild作業(yè)組成員配置表用戶維護(hù)(常用)ETL_Job_TimeWindow作業(yè)時(shí)間窗口配置表用戶維護(hù)(常用)ETL_ServerDWAutomation客戶端配置表用戶維護(hù)(常用)DataCalendar日歷表,用于檢查作業(yè)日期用戶維護(hù)(可選)DataCalendarYear日歷年表用戶維護(hù)(可選)ETL_RelatedJob相關(guān)作業(yè)配置表用戶維護(hù)(可選)ETL_Notification自動(dòng)發(fā)郵件、短信配置表用戶維護(hù)(可選)ETL_User自動(dòng)發(fā)郵件、短信目標(biāo)用戶表用戶維護(hù)(可選)ETL_UserGroup自動(dòng)發(fā)郵件、短信目標(biāo)用戶組表用戶維護(hù)(可選)ETL_GroupMember自動(dòng)發(fā)郵件、短信目標(biāo)用戶組成員表用戶維護(hù)(可選)RepositoryTables(Cont.)表名用途類別ETL_TimeTrigger定點(diǎn)觸發(fā)配置表用戶維護(hù)(可選)ETL_TimeTrigger_Calendar定制定時(shí)作業(yè)定義表用戶維護(hù)(可選)ETL_TimeTrigger_Monthly月定時(shí)作業(yè)定義表用戶維護(hù)(可選)ETL_TimeTrigger_Weekly周定時(shí)作業(yè)定義表用戶維護(hù)(可選)ETL_Received_File數(shù)據(jù)文件信息表,用于load作業(yè)系統(tǒng)維護(hù)ETL_Record_Log加載記錄信息表,用于load作業(yè)系統(tǒng)維護(hù)ETL_Job_Status作業(yè)狀態(tài)表,用于所有作業(yè)系統(tǒng)維護(hù)ETL_Job_Log作業(yè)日志表,用于所有作業(yè)系統(tǒng)維護(hù)ETL_Job_Queue作業(yè)隊(duì)列表,用于定時(shí)作業(yè)和異地作業(yè)系統(tǒng)維護(hù)ETL_Job_Trace作業(yè)跟蹤表,用于定時(shí)作業(yè)系統(tǒng)維護(hù)ETL_Event事件表,用于監(jiān)控所有作業(yè)的運(yùn)行狀態(tài)系統(tǒng)維護(hù)ETLAutomation的功能加載作業(yè)的圖形化設(shè)置、維護(hù)和修改以數(shù)據(jù)驅(qū)動(dòng)的作業(yè)自動(dòng)執(zhí)行協(xié)調(diào)作業(yè)執(zhí)行的相互關(guān)系作業(yè)組管理作業(yè)日志管理數(shù)據(jù)定時(shí)清理支持多加載服務(wù)器作業(yè)并行處理加載作業(yè)的實(shí)時(shí)監(jiān)控加載作業(yè)的遠(yuǎn)程報(bào)警-Email開放的加載作業(yè)數(shù)據(jù)接口ETL——作業(yè)每一個(gè)數(shù)據(jù)源文件從抽取到整合進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)包括多個(gè)步驟可以定義成一個(gè)或多個(gè)作業(yè)ETL——流程ETL的作業(yè)組成了ETL的流程每個(gè)流程包括一個(gè)或多個(gè)作業(yè)整個(gè)流程根據(jù)數(shù)據(jù)周期自動(dòng)運(yùn)行作業(yè)的依賴關(guān)系在流程中確定流程和作業(yè)的觸發(fā)無(wú)依賴關(guān)系的作業(yè)是完全并行的自動(dòng)的流水處理降低了出錯(cuò)的概率、提高了效率ETL圖形管理工具圖形化界面管理作業(yè)設(shè)置作業(yè)監(jiān)控日志檢查作業(yè)執(zhí)行功能設(shè)置ETL的維護(hù)結(jié)合元數(shù)據(jù)管理等工具,對(duì)ETL進(jìn)行維護(hù)在應(yīng)用擴(kuò)展、變動(dòng)時(shí),根據(jù)對(duì)ETL的影響調(diào)整ETL程序或流程處理日常ETL過(guò)程中的問(wèn)題:數(shù)據(jù)格式錯(cuò)誤文件傳輸錯(cuò)誤……一體化腳本生成工具一體化腳本生成工具主要實(shí)現(xiàn)變更實(shí)體-SDM模板手動(dòng)填寫SDM實(shí)體設(shè)計(jì)文檔通過(guò)解析SDM設(shè)計(jì)文檔生成腳本一鍵式上線工具
針對(duì)上線變更操作中手動(dòng)參與過(guò)多,結(jié)合客戶需求我們開發(fā)一鍵式半自動(dòng)上線工具。處理流程如圖所示:一鍵式上線工具
操作界面如下:
提供上線資源清理上線變更失敗回滾動(dòng)態(tài)檢測(cè)每步結(jié)果操作簡(jiǎn)單ETL開發(fā)流程規(guī)范SDM設(shè)計(jì)規(guī)范ETL腳本開發(fā)規(guī)范ETL腳本數(shù)據(jù)類型轉(zhuǎn)化規(guī)范歷史修復(fù)處理規(guī)范ETL腳本測(cè)試案例規(guī)范調(diào)度任務(wù)配置規(guī)范提交物命名規(guī)范
針對(duì)ETL開發(fā)每個(gè)環(huán)節(jié)有相關(guān)的規(guī)范文檔,保證開發(fā)質(zhì)量,提高開發(fā)效率。ETL數(shù)據(jù)質(zhì)量管理通過(guò)規(guī)范和測(cè)試驗(yàn)證ETL過(guò)程數(shù)據(jù)的正確性數(shù)據(jù)質(zhì)量校驗(yàn)(技術(shù)+業(yè)務(wù))定期數(shù)據(jù)質(zhì)量報(bào)告
提到ETL數(shù)據(jù)質(zhì)量問(wèn)題,這是無(wú)法根治的,只能采取特定的手段去盡量避免,而且必須要定義出度量方法來(lái)衡量數(shù)據(jù)的質(zhì)量是好還是壞。首先,必須有一個(gè)對(duì)質(zhì)量的度量方法,什么是高質(zhì)什么是低質(zhì),不能靠感官感覺(jué);其次,建立數(shù)據(jù)驗(yàn)證框架,主要包括提高前端,提供架構(gòu)和規(guī)范流程。ETL實(shí)施成功案例分析上海某著名企業(yè)數(shù)據(jù)倉(cāng)庫(kù)ETL實(shí)施案案例分析:上海某著名企業(yè)BI系統(tǒng)ETL體系架構(gòu)ETL典型流程DWAutomation調(diào)度和控制多維數(shù)據(jù)庫(kù)Teradata數(shù)據(jù)庫(kù)接收數(shù)據(jù)源確認(rèn)、映射
源數(shù)據(jù)數(shù)據(jù)區(qū)臨時(shí)數(shù)據(jù)區(qū)ETL控制數(shù)據(jù)多維數(shù)據(jù)生成數(shù)據(jù)更新和生成清洗和轉(zhuǎn)換轉(zhuǎn)換數(shù)據(jù)備份數(shù)據(jù)檢查加載
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制定公司行政管理制度
- 公司銷售主管管理制度
- 農(nóng)村水路入戶管理制度
- 垃圾拖車人員管理制度
- 網(wǎng)絡(luò)性能優(yōu)化與管理題目及答案
- 小學(xué)節(jié)能評(píng)比管理制度
- 行政組織理論的復(fù)習(xí)策略試題及答案
- 南寧小學(xué)日常管理制度
- 公共數(shù)據(jù)應(yīng)用管理制度
- 公交公司值班管理制度
- 2024年廣西公需科目參考答案
- IATF16949-質(zhì)量手冊(cè)(過(guò)程方法無(wú)刪減版)
- 溝通的藝術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2023年九年級(jí)中考數(shù)學(xué)微專題+鉛垂法求三角形面積課件
- 企業(yè)級(jí)IPv6網(wǎng)絡(luò)改造及升級(jí)服務(wù)合同
- 甘肅省2023年中考語(yǔ)文現(xiàn)代文閱讀真題及答案
- 安徽省合肥市科大附中2025年第二次中考模擬初三數(shù)學(xué)試題試卷含解析
- 市政工程單位、分部、分項(xiàng)工程劃分方案
- 2024至2030年中國(guó)磁性元器件市場(chǎng)前景及投資發(fā)展戰(zhàn)略研究報(bào)告
- 人力資源服務(wù)派遣合同范本(2024版)
- 2025數(shù)學(xué)步步高大一輪復(fù)習(xí)講義人教A版復(fù)習(xí)講義含答案
評(píng)論
0/150
提交評(píng)論