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),請進行舉報或認領(lǐng)

文檔簡介

ETL技術(shù)規(guī)范ETL設(shè)計規(guī)范ETL設(shè)計規(guī)范主要應(yīng)用于ETL編碼的前期工作。由于ETL全過程是面向數(shù)據(jù)的,主要工作為數(shù)據(jù)的抽?。‥xtract)、轉(zhuǎn)換(Transform)、裝載(Loading),正確界定所涉及到的數(shù)據(jù)范圍和應(yīng)當應(yīng)用的轉(zhuǎn)換邏輯對于后續(xù)的編碼工作非常重要,這些數(shù)據(jù)關(guān)系的確定,我們稱之為Mapping(數(shù)據(jù)映射)。正確定義數(shù)據(jù)映射關(guān)系是ETL成功實施的前提,一個完善的Mapping應(yīng)該包含以下幾個部分:源數(shù)據(jù)集屬性此部分應(yīng)該詳細描述數(shù)據(jù)源的相關(guān)屬性,包括:實體名稱——含數(shù)據(jù)來源名稱(DSN)、所有者等信息;字段名稱——英文名稱;字段簡述——中文名稱,如為參數(shù)信息應(yīng)該有相關(guān)取值解釋,如性別字段(1:男;2:女;0:不詳)類型——字段類型,含長度和精度信息;非空屬性——字段是否可以為空;目標數(shù)據(jù)集屬性此部分應(yīng)該詳細描述目標數(shù)據(jù)集的相關(guān)屬性,包括:實體名稱——含數(shù)據(jù)來源名稱(DSN)、所有者等信息;字段名稱——英文名稱,建議根據(jù)字段含義來命名,而不是簡單用拼音來定義字段(此部分由負責設(shè)計數(shù)據(jù)集的人員控制);字段簡述——中文名稱,對于保留字段應(yīng)該給出默認值;類型——字段類型,含長度和精度信息;非空屬性——字段是否可以為空;ETL規(guī)則主要描述ETL各個環(huán)節(jié)的轉(zhuǎn)換規(guī)則,包括:數(shù)據(jù)源過濾規(guī)則——描述從源數(shù)據(jù)集獲取數(shù)據(jù)過程中過濾掉記錄的規(guī)則;關(guān)聯(lián)規(guī)則——當源數(shù)據(jù)集為多個時,描述相互之間的關(guān)聯(lián)關(guān)系;列轉(zhuǎn)換規(guī)則——描述源數(shù)據(jù)集到目標數(shù)據(jù)集的字段間的轉(zhuǎn)換規(guī)則;此規(guī)則非常重要,要清晰描述字段間的邏輯關(guān)系,包括業(yè)務(wù)邏輯;目標數(shù)據(jù)集更新規(guī)則——描述目標數(shù)據(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ù)邏輯和編碼邏輯的基礎(chǔ)上,通過控制調(diào)度,最大限度地合理利用系統(tǒng)資源;參數(shù)列表——列舉每個作業(yè)中所使用的參數(shù),不同作業(yè)中的相同參數(shù)最好使用相同的名稱,便于調(diào)度時進行控制。ETL開發(fā)規(guī)范ETL項目的開發(fā)往往是多人團隊開發(fā)模式,由于周期較長,期間難免會出現(xiàn)開發(fā)人員交替現(xiàn)象。無論是開發(fā)過程中的人員交替還是從開發(fā)到系統(tǒng)運營之間的轉(zhuǎn)換,都需要良好的交接。為保證項目開發(fā)各個時期的平穩(wěn)過度及順利交接,在開發(fā)過程中,應(yīng)該遵循一定的開發(fā)規(guī)范。主要包括:命名規(guī)范結(jié)構(gòu)規(guī)范代碼封裝規(guī)范命名規(guī)范作業(yè)命名規(guī)范ETL是一個復雜的工作,數(shù)據(jù)倉庫的建設(shè)一般會花費70%以上的工作量在ETL上面,而且這是一個細致活,任何一點小的錯誤都有可能造成后續(xù)工作的出錯和失?。淮送?,數(shù)據(jù)倉庫需要不斷的更新維護,相應(yīng)的ETL程序也需要進行相關(guān)的更新維護,所花費的成本也很大。一個好的命名規(guī)范,能夠使ETL的程序更清晰易懂,很好地避免了開發(fā)過程中出錯;同時更好的可讀性,也極大地減低了ETL程序的更新維護成本。作業(yè)命名規(guī)則:[JOBTYPE][DESCRIPTION][SEQNUM]JOBTYPE:作業(yè)類型DESCRIPTION:有效的描述信息SEQNUM:作業(yè)的編號。由于一定的原因,有可能需要拆分作業(yè)數(shù)據(jù)多次加載數(shù)據(jù),這個編號就可以區(qū)分加載。如果一次加載可以成功的話這個編號就不需要了。作業(yè)內(nèi)部命名規(guī)范對于作業(yè)內(nèi)部命名,應(yīng)該遵循代碼的可讀性與可傳遞性原則,命名規(guī)則:[Function][Description]Function:表示用途,Ex:抽取,Create:創(chuàng)建,Ld:裝載,Lookup:查找等Description:有意義的描述,比如數(shù)據(jù)庫表名,文件名等。作業(yè)注釋規(guī)范ETL開發(fā)過程往往要經(jīng)歷一個較長時間段,為了便于團隊開發(fā)和后期維護,除開發(fā)設(shè)計文檔要齊全外,還應(yīng)該在作業(yè)設(shè)計界面中適當加注釋信息,主要包括作業(yè)功能說明、所屬模塊、開發(fā)時間、開發(fā)人員等信息。結(jié)構(gòu)規(guī)范作業(yè)目錄組織結(jié)構(gòu)對于ETLPROJECT而言,我們需要劃分清晰的目錄結(jié)構(gòu),根據(jù)一定的規(guī)則將作業(yè)組織起來,這樣無論是對ETL設(shè)計人員,運行人員,維護人員,都有很大的幫助。目錄結(jié)構(gòu)劃分遵循以下原則:體現(xiàn)作業(yè)的依賴關(guān)系。體現(xiàn)作業(yè)功能。獨立放置二次開發(fā)作業(yè)。模塊化結(jié)構(gòu)ETL按照處理邏輯分為E階段(Extract)、T階段(Transformer)和L階段(Loading)。E、T、L階段可能分處不同的服務(wù)器上,需要跨網(wǎng)絡(luò)運行,他們之間的配置情況可能存在較大的差異,而多數(shù)ETL設(shè)計的處理機制是串行運行機制,基于數(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ā)揮功效,不會因為串性處理機制而相互制約。另外,模塊化的流程設(shè)計,對于開發(fā)階段的調(diào)試以及維護階段的出錯處理都提供了良好的輔助作用。ETL維護規(guī)范日志檢查日志文件報告ETL提供日志監(jiān)測和報告功能。報告分匯總報告和詳細報告。匯總報告報告內(nèi)容:作業(yè)總數(shù),WARNING作業(yè)數(shù),成功作業(yè)數(shù),失敗作業(yè)數(shù),開始時間,結(jié)束時間等詳細報告報告內(nèi)容:作業(yè)名稱,開始時間,結(jié)束時間,運行狀態(tài)等作業(yè)狀態(tài)排查在ETL管理控制臺上,可點擊進入查看作業(yè)更為詳細的狀態(tài)及出錯信息,以便于維護更正。出錯處理即使是經(jīng)過嚴格測試的程序,在實際運行中仍然會因為種種原因而導致出錯,根據(jù)ETL的處理邏輯,我們將錯誤分為以下三類:抽取錯誤:簡稱E(Extract)類錯誤轉(zhuǎn)換錯誤:簡稱T(Transformer)類錯誤裝載錯誤:簡稱L(Loading)類錯誤E類錯誤這類錯誤發(fā)生在數(shù)據(jù)抽取階段。諸如數(shù)據(jù)庫連接故障、網(wǎng)絡(luò)資源不足等原因都可以導致此類故障。由于此類錯誤發(fā)生時,數(shù)據(jù)還處于原始狀態(tài),未發(fā)生轉(zhuǎn)換,對目標數(shù)據(jù)集也未產(chǎn)生任何影響,理論上可以看做是ETL處理未開始,因此處理此類錯誤相對簡單,只需要排除故障原因后重新運行ETL處理即可。T類錯誤這類錯誤發(fā)生在數(shù)據(jù)轉(zhuǎn)換階段。引發(fā)原因較多,既有環(huán)境資源故障的可能,也有設(shè)計邏輯缺陷的可能。此類錯誤發(fā)生在ETL的中間階段,應(yīng)根據(jù)實際故障原因進行處理。對于環(huán)境資源故障所引發(fā)的錯誤,只需要排除故障原因,重新運行ETL的T(Transformer)階段和L(Loading)階段即可。對于設(shè)計邏輯缺陷所引發(fā)的錯誤,處理相對復雜——首先要定位錯誤并修正程序,同時要明確該錯誤是否涉及到數(shù)據(jù)源的抽取邏輯,如果未涉及到,則在修正邏輯后重新運行T(Transformer)階段和L(Loading)階段程序即可;若邏輯錯誤與數(shù)據(jù)源相關(guān),則需要重新運行包括E(Extract)階段在內(nèi)的整個ETL處理。L類錯誤這類錯誤發(fā)生在數(shù)據(jù)裝載階段,除環(huán)境資源故障原因外,最大可能性是需要裝載到目標集的數(shù)據(jù)違反了目標數(shù)據(jù)集數(shù)據(jù)約束,如主鍵重復、非空字段出現(xiàn)空值、數(shù)據(jù)超長、類型不匹配等等。因環(huán)境資源故障(網(wǎng)絡(luò)故障等等)所引發(fā)的出錯,處理簡單,只需排除故障,將目標數(shù)據(jù)集恢復到裝載前狀態(tài),重新運行L階段的處理即可。對于非環(huán)境資源所引發(fā)的問題,處理與T類錯誤類似:先定位原因,根據(jù)以往的經(jīng)驗,問題多數(shù)發(fā)生在T階段,可能存在設(shè)計缺陷或者運行邏輯缺陷,需要對T部分的處理進行修正,并將目標數(shù)據(jù)集恢復到裝載前狀態(tài),重新運行T階段和L階段的處理。在上一章“設(shè)計規(guī)范”里,我們強調(diào)了模塊化的流程設(shè)計,將E階段、T階段、L階段按流程分模塊化設(shè)計,其實不僅僅是為了解決系統(tǒng)資源瓶頸問題,同時也是為了方便出錯時進行處理。在發(fā)生T類和L類錯誤時,由于各處理階段設(shè)計相對獨立,對于不同階段的問題,只需要單獨運行與該階段相關(guān)的處理,而無須將所有處理過程都重新運行,大大減低重復運行的代價。備份、恢復與版本控制ETL系統(tǒng)的備份包括兩個部分,即ETL運行環(huán)境備份及數(shù)據(jù)庫的備份。運行備份是指為保證如果運行的ETL系統(tǒng)崩潰時可以通過備份的ETL系統(tǒng)繼續(xù)完成ETL的工作,為達到這個目的,應(yīng)安裝兩臺ETL環(huán)境,并建立相同的配置,其中一臺處于運行狀態(tài),而另一臺為待機狀態(tài)。每日在日常ETL完成后對運行環(huán)境的各文件進行備份,即將ETL的運行目錄轉(zhuǎn)儲到外掛磁盤或外部存儲介質(zhì)。而數(shù)據(jù)庫的數(shù)據(jù)備份對于ETL非常重要,建議系統(tǒng)管理員每日做數(shù)據(jù)的完全備份,每天保留一個備份文件,建議至少保留7天。ETL系統(tǒng)的恢復相應(yīng)也包括兩個部分,即運行恢復及數(shù)據(jù)恢復運行恢復是指當運行系統(tǒng)遇到嚴重故障如硬件故障、操作系統(tǒng)崩潰等無法及時修復時,啟用備份的運行系統(tǒng)繼續(xù),通過將上一日備份的ETL環(huán)境恢復到待機系統(tǒng),然后啟動待機系統(tǒng)運行日常ETL。數(shù)據(jù)庫恢復通常兩種情況下會用到,一種是數(shù)據(jù)庫系統(tǒng)本身出了故障需要重新安裝,這時需要將上一日備份的數(shù)據(jù)恢復到新的數(shù)據(jù)庫環(huán)境中。還有一種是數(shù)據(jù)加載過程中發(fā)現(xiàn)幾天以前加載了某些有問題的數(shù)據(jù),需要從之前某一天開始重新加載修正后的數(shù)據(jù),這時需要將指定日的備份重新恢復到數(shù)據(jù)倉庫中,然后順序運行每日的日常ETL。另外,開發(fā)過程中需要對所有ETL程序及文檔進行相應(yīng)的版本控制,跟蹤開發(fā)過程中的修改,以保證開發(fā)版本的一致性及保持開發(fā)的連續(xù)性。其中專業(yè)理論知識內(nèi)容包括:保安理論知識、消防業(yè)務(wù)知識、職業(yè)道德、法律常識、保安禮儀、救護知識。作技能訓練內(nèi)容包括:崗位操作指引、勤務(wù)技能、消防技能、軍事技能。二.培訓的及要求培訓目的安全生產(chǎn)目標責任書為了進一步落實安全生產(chǎn)責任制,做到“責、權(quán)、利”相結(jié)合,根據(jù)我公司2015年度安全生產(chǎn)目標的內(nèi)容,現(xiàn)與財務(wù)部簽訂如下安全生產(chǎn)目標:一、目標值:1、全年人身死亡事故為零,重傷事故為零,輕傷人數(shù)為零。2、現(xiàn)金安全保管,不發(fā)生盜竊事故。3、每月足額提取安全生產(chǎn)費用,保障安全生產(chǎn)投入資金的到位。4、安全培訓合格率為100%。二、本單位安全工作上必須做到以下內(nèi)容:1、對本單位的安全生產(chǎn)負直接領(lǐng)導責任,必須模范遵守公司的各項安全管理制度,不發(fā)布與公司安全管理制度相抵觸的指令,嚴格履行本人的安全職責,確保安全責任制在本單位全面落實,并全力支持安全工作。2、保證公司各項安全管理制度和管理辦法在本單位內(nèi)全面實施,并自覺接受公司安全部門的監(jiān)督和管理。3、在確保安全的前提下組織生產(chǎn),始終把安全工作放在首位,當“安全與交貨期、質(zhì)量”發(fā)生矛盾時,堅持安全第一的原則。4、參加生產(chǎn)碰頭會時,首先匯報本單位的安全生產(chǎn)情況和安全問題落實情況;在安排本單位生產(chǎn)任務(wù)時,必須安排安全工作內(nèi)容,并寫入記錄。5、在公司及政府的安全檢查中杜絕各類違章現(xiàn)象。6、組織本部門積極參加安全檢查,做到有檢查、有整改,記錄全。7、以身作則,不違章指揮、不違章操作。對發(fā)現(xiàn)的各類違章現(xiàn)象負有查禁的責任,同時要予以查處。8、虛心接受員工提出的問題,杜絕不接受或盲目指

溫馨提示

  • 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

提交評論