ETL技術(shù)規(guī)范通用_第1頁
ETL技術(shù)規(guī)范通用_第2頁
ETL技術(shù)規(guī)范通用_第3頁
ETL技術(shù)規(guī)范通用_第4頁
ETL技術(shù)規(guī)范通用_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、ETL技術(shù)標(biāo)準(zhǔn)通用LTETL技術(shù)標(biāo)準(zhǔn)第1章,ETL設(shè)計標(biāo)準(zhǔn)ETL設(shè)計標(biāo)準(zhǔn)主要應(yīng)用于ETL編碼的前期工作.由于ETL全過程是面向數(shù)據(jù) 的,主要工作為數(shù)據(jù)的抽取(Extract)轉(zhuǎn)換(Transform)、裝載(Loading), 正確界定所涉及到的數(shù)據(jù)范圍和應(yīng)當(dāng)應(yīng)用的轉(zhuǎn)換邏輯對于后續(xù)的編碼工作非常 重要,這些數(shù)據(jù)關(guān)系確實定,我們稱之為Mapping (數(shù)據(jù)映射).正確定義數(shù)據(jù)映射關(guān)系是ETL成功實施的前提,一個完善的Mapping應(yīng)該 包含以下幾個局部:1.1源數(shù)據(jù)集屬性此局部應(yīng)該詳細(xì)描述數(shù)據(jù)源的相關(guān)屬性,包括:實體名稱含數(shù)據(jù)來源名稱(DSN)、所有者等信息;字段名稱英文名稱;字段簡述一一中文名

2、稱,如為參數(shù)信息應(yīng)該有相關(guān)取值解釋,如性別字段 (1:男;2:女;0:不詳)類型一一字段類型,含長度和精度信息;非空屬性一字段是否可以為空;數(shù)據(jù)源表表名字段說明字段名稱字段類型ICInventory物料IDFltemlDinteger批號FBatchNovarchar(255)倉庫標(biāo)識FStockIDinteger存貨數(shù)量FQtydecimal (28J10)存貨余額FBaldecimal (28,10)倉位標(biāo)識FStockPlacelDinteger保質(zhì)期FKFPeriodinteger生產(chǎn)日期FKFDatebinaryL2目標(biāo)數(shù)據(jù)集屬性此局部應(yīng)該詳細(xì)描述目標(biāo)數(shù)據(jù)集的相關(guān)屬性,包括:實體名稱

3、含數(shù)據(jù)來源名稱DSN、所有者等信息;字段名稱英文名稱,建議根據(jù)字段含義來命名,而不是簡單用拼音來 定義字段此局部由負(fù)責(zé)設(shè)計數(shù)據(jù)集的人員限制;字段簡述一中文名稱,對于保存字段應(yīng)該給出默認(rèn)值;類型一一字段類型,含長度和精度信息;非空屬性字段是否可以為空;序號字段者文字段名稱字段關(guān)里至娓取值說嘲1糜IDFInterlDintegerTRUE數(shù)據(jù)庫中己垓定 義了標(biāo)識字段, 不需要去信2數(shù)據(jù)來源4atasaurcetinyint根據(jù)數(shù)據(jù)源來對 應(yīng)相應(yīng)的值,見 說明一3物料IDFI tetnIDinteger直接COPY4或得FBatchNavart:har i_2E5)直播COPYE栓庫標(biāo)識FStock

4、TDi TTtBgFrr官轄COPY6存貨數(shù)量FQWdeci nail 28.10)苴卷COPY7存貸余領(lǐng)FBaldecimal (2a 10)直接COPY£倉位標(biāo)識FStockPlacelDinteger直榜COPYg保質(zhì)期FKFPeriodi iTtBgfTT有楂COPY10生產(chǎn)日期FKFDatedaietiine1.1 ETL規(guī)那么主要描述ETL各個環(huán)節(jié)的轉(zhuǎn)換規(guī)那么,包括:數(shù)據(jù)源過濾規(guī)那么一一描述從源數(shù)據(jù)集獲取數(shù)據(jù)過程中過濾掉記錄的規(guī)那么;關(guān)聯(lián)規(guī)那么一一當(dāng)源數(shù)據(jù)集為多個時,描述相互之間的關(guān)聯(lián)關(guān)系;列轉(zhuǎn)換規(guī)那么一一描述源數(shù)據(jù)集到目標(biāo)數(shù)據(jù)集的字段間的轉(zhuǎn)換規(guī)那么;此規(guī)那么 非常重要,

5、要清楚描述字段間的邏輯關(guān)系,包括業(yè)務(wù)邏輯;目標(biāo)數(shù)據(jù)集更新規(guī)那么一一描述目標(biāo)數(shù)據(jù)集的更新策略,包括更新機(jī)制和更 新頻度,如“每日全量更新、“每周增量更新等;ETL作業(yè)列表一一由于ETL所開發(fā)的作業(yè)之間包含一定的業(yè)務(wù)邏輯和編碼邏 輯,所以調(diào)度過程中應(yīng)遵循一定的邏輯順序,此局部主要用來明確調(diào)度的順序, 包括:作業(yè)名稱一一實現(xiàn)Mapping的作業(yè)名稱,包括該作業(yè)功能描述;調(diào)度順序一一用序號或者是流程圖模式描述作業(yè)的調(diào)度順序,需要綜合考 慮業(yè)務(wù)邏輯、編碼邏輯以及系統(tǒng)資源等多方面情況,在保證業(yè)務(wù)邏輯和編碼邏 輯的根底上,通過限制調(diào)度,最大限度地合理利用系統(tǒng)資源;St eplStep 2Step 3Step

6、 4Sttp 5Stftp 6CCYCLCL_SCMCMLMSR_PRD1FDFDJUSTIFIPJJISTOUoujestPD_HLPROU_K_OUOU_X_IFARAR_HISTAR_X_IPIXM/TOIJVAR_TJiN_SJfYAR_BALODD/AR_BAL_EVNCWL_i_SMYAR_SMYAR_PFT_A1ILcst_pft_anl參數(shù)列表一一列舉每個作業(yè)中所使用的參數(shù),不同作業(yè)中的相同參數(shù)最好 使用相同的名稱,便于調(diào)度時進(jìn)行限制.第2章.ETL開發(fā)標(biāo)準(zhǔn)ETL工程的開發(fā)往往是多人團(tuán)隊開發(fā)模式, 由于周期較長,期間難免會出現(xiàn) 開發(fā)人員交替現(xiàn)象.無論是開發(fā)過程中的人員交替還是從

7、開發(fā)到系統(tǒng)運營之間 的轉(zhuǎn)換,都需要良好的交接.為保證工程開發(fā)各個時期的平穩(wěn)過度及順利交接, 在開發(fā)過程中,應(yīng)該遵循一定的開發(fā)標(biāo)準(zhǔn).主要包括:命名標(biāo)準(zhǔn)結(jié)構(gòu)標(biāo)準(zhǔn)代碼封裝標(biāo)準(zhǔn)2.1 命名標(biāo)準(zhǔn)2.1.1 作業(yè)命名標(biāo)準(zhǔn)ETL是一個復(fù)雜的工作,數(shù)據(jù)倉庫的建設(shè)一般會花費70%以上的工作量在ETL上面,而且這是一個細(xì)致活,任何一點小的錯誤都有可能造成后續(xù)工作的出 錯和失?。恢关巴?數(shù)據(jù)倉庫需要不斷的更新維護(hù),相應(yīng)的ETL程序也需要進(jìn)行相關(guān)的更新維護(hù),所花費的本錢也很大.一個好的命名標(biāo)準(zhǔn),能夠使 ETL的程序更清楚易懂,很好地防止了開發(fā)過 程中出錯;同時更好的可讀性,也極大地減低了 ETL程序的更新維護(hù)本錢.作

8、 業(yè)命名規(guī)那么:JOBTYP曰DESCRIPTION北SEQNUMJOBTYPE作業(yè)類型DESCRIPTIO N有效的描述信息SEQNUM作業(yè)的編號.由于一定的原因,有可能需要拆分作業(yè)數(shù)據(jù)屢次加 載數(shù)據(jù),這個編號就可以區(qū)分加載.如果一次加載可以成功的話這個編號就不1W - 4 o2.1.2 作業(yè)內(nèi)部命名標(biāo)準(zhǔn)對于作業(yè)內(nèi)部命名,應(yīng)該遵循代碼的可讀性與可傳遞性原那么,命名規(guī)那么:FunctionDescriptionFunction :表示用途,Ex:抽取,Create:創(chuàng)立,Ld:裝載,Lookup:查找等 Description :有意義的描述,比方數(shù)據(jù)庫表名,文件名等.2.1.3 作業(yè)注釋標(biāo)準(zhǔn)

9、ETL開發(fā)過程往往要經(jīng)歷一個較長時間段,為了便于團(tuán)隊開發(fā)和后期維護(hù), 除開發(fā)設(shè)計文檔要齊全外,還應(yīng)該在作業(yè)設(shè)計界面中適當(dāng)加注釋信息,主要包 括作業(yè)功能說明、所屬模塊、開發(fā)時間、開發(fā)人員等信息.2.2 結(jié)構(gòu)標(biāo)準(zhǔn)2.2.1 作業(yè)目錄組織結(jié)構(gòu)對于ETL PROJECTS言,我們需要劃分清楚的目錄結(jié)構(gòu),根據(jù)一定的規(guī)那么將作業(yè)組織起來,這樣無論是對 ETL設(shè)計人員,運行人員,維護(hù)人員,都有很 大的幫助.目錄結(jié)構(gòu)劃分遵循以下原那么:1. 表達(dá)作業(yè)的依賴關(guān)系.2. 表達(dá)作業(yè)功能.3. 獨立放置二次開發(fā)作業(yè).2.2.2 模塊化結(jié)構(gòu)ETL根據(jù)處理邏輯分為 E階段Extract 、T階段Transformer 和

10、L階 段Loading.E、T、L階段可能分處不同的效勞器上,需要跨網(wǎng)絡(luò)運行,他們 之間的配置情況可能存在較大的差異,而多數(shù)ETL設(shè)計的處理機(jī)制是串行運行機(jī)制,基于數(shù)據(jù)行處理.如果 E、T、L的過程同時運行,那么整體的處理水平 應(yīng)該是三個環(huán)節(jié)中效率最低的那個環(huán)節(jié)的處理水平.如果我們將三個環(huán)節(jié)的設(shè)計分開,實行模塊化流程處理,即E環(huán)節(jié)、T環(huán)節(jié)、 L環(huán)節(jié)均設(shè)計成可獨立運行的模塊, 那么在整個處理過程中,將可以最大限度發(fā) 揮成效,不會由于用性處理機(jī)制而相互制約.另外,模塊化的流程設(shè)計,對于開發(fā)階段的調(diào)試以及維護(hù)階段的出錯處理 都提供了良好的輔助作用.第3章.ETL維護(hù)標(biāo)準(zhǔn)3.1 日志檢查3.1.1 日

11、志文件報告ETL提供日志監(jiān)測和報告功能.報告分匯總報告和詳細(xì)報告.匯總報告報告內(nèi)容:作業(yè)總數(shù),WARNING業(yè)數(shù),成功作業(yè)數(shù),失敗作業(yè)數(shù), 開始時間,結(jié)束時間等詳細(xì)報告報告內(nèi)容:作業(yè)名稱,開始時間,結(jié)束時間,運行狀態(tài)等3.1.2 作業(yè)狀態(tài)排查在ETL治理限制臺上,可點擊進(jìn)入查看作業(yè)更為詳細(xì)的狀態(tài)及出錯信息, 以便于維護(hù)更正.3.2 出錯處理即使是經(jīng)過嚴(yán)格測試的程序,在實際運行中仍然會由于種種原因而導(dǎo)致出 錯,根據(jù)ETL的處理邏輯,我們將錯誤分為以下三類:抽取錯誤:簡稱E (Extract )類錯誤轉(zhuǎn)換錯誤:簡稱T (Transformer )類錯誤裝載錯誤:簡稱L (Loading )類錯誤3

12、.2.1 E類錯誤這類錯誤發(fā)生在數(shù)據(jù)抽取階段.諸如數(shù)據(jù)庫連接故障、網(wǎng)絡(luò)資源缺乏等原 因都可以導(dǎo)致此類故障.由于此類錯誤發(fā)生時,數(shù)據(jù)還處于原始狀態(tài),未發(fā)生 轉(zhuǎn)換,對目標(biāo)數(shù)據(jù)集也未產(chǎn)生任何影響,理論上可以看做是ETL處理未開始,因此處理此類錯誤相對簡單,只需要排除故障原因后重新運行ETL處理即可.3.2.2 T類錯誤這類錯誤發(fā)生在數(shù)據(jù)轉(zhuǎn)換階段.引發(fā)原因較多,既有環(huán)境資源故障的可能, 也有設(shè)計邏輯缺陷的可能.此類錯誤發(fā)生在ETL的中間階段,應(yīng)根據(jù)實際故障原因進(jìn)行處理.對于環(huán)境資源故障所引發(fā)的錯誤,只需要排除故障原因,重新運行ETL的 (Transformer )階段和 L (Loading )階段即

13、可.對于設(shè)計邏輯缺陷所引發(fā)的錯誤,處理相對復(fù)雜一一首先要定位錯誤并修 正程序,同時要明確該錯誤是否涉及到數(shù)據(jù)源的抽取邏輯,如果未涉及到,那么 在修正邏輯后重新運行 T (Transformer )階段和L (Loading)階段程序即可; 假設(shè)邏輯錯誤與數(shù)據(jù)源相關(guān),那么需要重新運行包括E (Extract )階段在內(nèi)的整個ETL處理.3.2.3 L類錯誤這類錯誤發(fā)生在數(shù)據(jù)裝載階段,除環(huán)境資源故障原因外,最大可能性是需 要裝載到目標(biāo)集的數(shù)據(jù)違反了目標(biāo)數(shù)據(jù)集數(shù)據(jù)約束,如主鍵重復(fù)、非空字段出 現(xiàn)空值、數(shù)據(jù)超長、類型不匹配等等.因環(huán)境資源故障(網(wǎng)絡(luò)故障等等)所引發(fā)的出錯,處理簡單,只需排除故障,將目標(biāo)

14、數(shù)據(jù)集恢復(fù)到裝載前狀態(tài),重新運行L階段的處理即可對于非環(huán)境資源所引發(fā)的問題,處理與 T類錯誤類似:先定位原因,根據(jù) 以往的經(jīng)驗,問題多數(shù)發(fā)生在 T階段,可能存在設(shè)計缺陷或者運行邏輯缺陷, 需要對T局部的處理進(jìn)行修正,并將目標(biāo)數(shù)據(jù)集恢復(fù)到裝載前狀態(tài), 重新運行T 階段和L階段的處理.在上一章“設(shè)計標(biāo)準(zhǔn)里,我們弓S調(diào)了模塊化的流程設(shè)計,將 E階段、T階 段、L階段按流程分模塊化設(shè)計,其實不僅僅是為了解決系統(tǒng)資源瓶頸問題,同 時也是為了方便出錯時進(jìn)行處理.在發(fā)生 T類和L類錯誤時,由于各處理階段 設(shè)計相對獨立,對于不同階段的問題,只需要單獨運行與該階段相關(guān)的處理, 而無須將所有處理過程都重新運行,大

15、大減低重復(fù)運行的代價.3.3 備份、恢復(fù)與版本限制ETL系統(tǒng)的備份包括兩個局部,即 ETL運行環(huán)境備份及數(shù)據(jù)庫的備份.運行備份是指為保證如果運行的 ETL系統(tǒng)崩潰時可以通過備份的 ETL系統(tǒng) 繼續(xù)完成ETL的工作,為到達(dá)這個目的,應(yīng)安裝兩臺 ETL環(huán)境,并建立相同的 配置,其中一臺處于運行狀態(tài),而另一臺為待機(jī)狀態(tài).每日在日常ETL完成后對運行環(huán)境的各文件進(jìn)行備份,即將 ETL的運行目錄轉(zhuǎn)儲到外掛磁盤或外部存 儲介質(zhì).而數(shù)據(jù)庫的數(shù)據(jù)備份對于 ETL非常重要,建議系統(tǒng)治理員每日做數(shù)據(jù)的完 全備份,每天保存一個備份文件,建議至少保存7天.ETL系統(tǒng)的恢復(fù)相應(yīng)也包括兩個局部,即運行恢復(fù)及數(shù)據(jù)恢復(fù)運行恢復(fù)是指當(dāng)運行系統(tǒng)遇到嚴(yán)重故障如硬件故障、操作系統(tǒng)崩潰等無法 及時修復(fù)時,啟用備份的運行系統(tǒng)繼續(xù),通過將上一日備份的ETL環(huán)境恢復(fù)到

溫馨提示

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

評論

0/150

提交評論