專案組希望我出乙個etl的規範,憑著自己的感覺和經驗總結了一些步驟,我還會不斷改進。
本etl流程規範試圖建立乙個通用的etl流程開發規範,針對不同專案組的實際情況,可自行進行逐步的完善和修改。
本流程應該是在需求分析階段結束後實施。
etl
流程:
可以把etl分為五個階段,按照開發的順序分:
1) 準備階段:
? 根據需求定義對映關係,產出物為《etl對映文件》。
? 分析資料來源質量,針對資料來源中有問題的資料制定資料抽取原則,產出物為《資料來源質量分析報告》、《問題資料處理規範》。
? 確定資料抽取的技術架構,產出物為《全量資料抽取策略》、《增量資料抽取策略》、《資料抽取中異常處理規範》。
? 確定etl的實現方式,採用etl工具還是自己開發**。產出物分別是:《etl工具使用手冊》、《etl**開發手冊》。這兩個文件主要用於員工培訓。
2) 開發階段:
? 根據上個階段的產出物進行etl的實現。
3) 測試階段:
? 測試和優化兩個階段實際上是相輔相成的,測試階段除了要測試etl邏輯的準確性,測試過程就可以得出etl過程的效能結果。產出物為《etl資料抽取測試報告》。
4) 優化階段:
? 優化涉及到etl過程的各個部分,從資料中轉區到目標區,從程式**的優化到資料庫引數的調優,從etl抽取邏輯的優化到技術架構的優化。具體優化的建議過程見《資料倉儲優化建議.doc》。
5) 遷移階段
? 我們經常碰到從乙個環境遷移到另乙個環境的情況,etl遷移的過程應該放在資料倉儲模型遷移後,也可以根據專案的實際情況一起進行遷移。產出物《etl遷移文件》。
關鍵點:
etl的重點在於元資料的管理、資料質量的管理
(一) 元資料的管理對於etl來說是非常重要的,現在有了很多元資料管理工具,但我認為最重要的也是最有效的就是從管理機制入手,建立乙個有效的管理元資料的制度,雖然這個方法顯得土了一點,但對於資料倉儲專案來說,還是比較實際的。
1) 建立etl對映文件。etl對映文件是元資料的主要依據,它記錄資料從資料來源到目標表的轉換和對應關係。對映可以是一對
一、一對多、多對一的。
2) 建立etl變更流程。etl變更流程其實是與需求變更緊密結合在一起的,專案中需求的變化是很常見的,需求的變化有可能會導致etl對映關係、以及etl業務邏輯的變化。修改etl對映檔案和業務邏輯檔案必須從文件開始,並且應該有統一的入口。修改文件應該包括:
? 版本號:
? 修改原因描述:
? 修改過程:
? 修改的影響範圍:
(二) 資料質量的好壞關係到專案的成敗,前端的各種資料分析和展現的手段都是建立在良好的資料質量基礎上的。
? 首先資料質量要從防患於未然開始。
我們通過制定統一的etl規範,嚴格要求etl過程中的每一步都要按照規範制定的步驟來執行。規範的制定可以根據各個專案組的實際情況作適當的增減,但是一些原則性的步驟一定要堅持執行。規範一旦制定下來,就必須嚴格執行。從源頭來保證資料質量的可信度。原則性的步驟包括:
ü 《etl對映文件》
ü 《資料來源質量分析報告》
ü 《問題資料處理規範》
ü 《資料抽取中異常處理規範》
? 建立資料核對和資料效驗流程
這部分應該是根據各個專案組的實際情況來考慮制定的。資料效驗的方式有多種,常見的是通過報表資料與已有系統中的資料進行比對,比對如果出現問題,關鍵點在於要明確不同的原因,原因無非有幾種:
ü 統計口徑不同
ü 已有系統資料有誤
ü 自己的資料有誤
不要輕易下結論說對方的系統資料錯誤,如果我們前面的功夫下的足夠,我們就可以根據我們上面提到的規範和文件來驗證我們的資料是否正確。
? 建立資料修改流程
有些錯誤是可以通過制定效驗規則來自動進行修改的;
而另一部分錯誤是必須有人工來判斷錯誤原因,並且由人工或者由其他系統來修改
資料倉儲 ETL
etl這個過程可以說下整套資料流程下來最枯燥也是最耗時間的流程,但是也是最重要的。很多時候我們不缺資料,缺的是好資料,而etl的結果則導致下游成員的資料質量。etl是貫穿數倉的整個環節,不是說只是在某乙個地方才使用的。etl工作的實質就是從各個資料來源提取資料,對資料進行轉換,並最終載入填充資料到資...
資料倉儲 四 之ETL開發
概述 etl是資料倉儲的後台,主要包含抽取 清洗 規範化 提交四個步驟,傳統資料倉儲一般分為四層模型。分層的作用 stg層 在維度建模階段已經確定了源系統,而且對源系統進行了資料評估。stg層是根據cdc策略把各個源系統的資料抽取到資料倉儲中。stg層主要是面向批處理的形式,如果是根據日誌資訊實時同...
ETL(資料倉儲技術)
etl,是英文 extract transform load 的縮寫,用來描述將資料從 端經過抽取 extract 轉換 transform 載入 load 至目的端的過程。etl一詞較常用在 資料倉儲,但其物件並不限於資料倉儲。etl是構建資料倉儲的重要一環,使用者從 資料來源抽取出所需的資料,經...