資料倉儲ETL流程規範(R2)
轉載地址:http://abyssliu.blog.hexun.com/6847177_d.html
專案組希望我出一個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對映文件》
《資料來源質量分析報告》
《問題資料處理規範》
《資料抽取中異常處理規範》
建立資料核對和資料效驗流程
這部分應該是根據各個專案組的實際情況來考慮制定的。資料效驗的方式有多種,常見的是透過報表資料與已有系統中的資料進行比對,比對如果出現問題,關鍵點在於要明確不同的原因,原因無非有幾種:
統計口徑不同
已有系統資料有誤
自己的資料有誤
不要輕易下結論說對方的系統資料錯誤,如果我們前面的功夫下的足夠,我們就可以根據我們上面提到的規範和文件來驗證我們的資料是否正確。
建立資料修改流程
有些錯誤是可以透過制定效驗規則來自動進行修改的;
而另一部分錯誤是必須有人工來判斷錯誤原因,並且由人工或者由其他系統來修改
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-1126461/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料倉儲(7)數倉規範設計
- ETL資料倉儲的使用方式
- ETL是什麼?淺談ETL對資料倉儲的重要性
- BI, 資料倉儲,ETL, 資料開發,有什麼區別
- 資料倉儲系列之ETL中常見的增量抽取方式
- 資料開發流程及規範
- SQL Server 2008 R2並行資料倉儲簡介SZSQLServer並行
- 淺談資料倉儲質量管理流程
- 區分SQL Server 2008 R2資料中心和並行資料倉儲版本WBSQLServer並行
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- ETL資料整合丨將GreenPlum資料同步至Doris數倉
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 數倉命名規範大全!
- 資料倉儲 - ER模型模型
- [數倉]資料倉儲設計方案
- graphql-normalizr: 儲存規範化GraphQL響應資料ORM
- MySQL 規範 (資料庫表設計規範)MySql資料庫
- 資料庫規範之SQL規範寫法資料庫SQL
- 資料倉儲應該用什麼方案——資料倉儲實施方案概述
- 測試流程與規範
- 資料探勘實驗(一)資料規範化【最小-最大規範化、零-均值規範化、小數定標規範化】
- 什麼是資料倉儲
- 什麼是資料倉儲?
- 資料倉儲經驗概念
- 資料倉儲建模方法論
- mysql資料庫規範MySql資料庫
- 資料庫命令規範資料庫
- 淺談資料倉儲和大資料大資料
- 資料湖會取代資料倉儲嗎?
- 談談資料湖和資料倉儲
- 資料湖 vs 資料倉儲 vs 資料庫資料庫
- 測試流程規範--提測規範(釘釘、郵件)
- 資料倉儲之大規模並行處理架構原理NY並行架構
- 如何規劃一個高效的BI資料倉儲專案JI
- 資料倉儲(6)數倉分層設計
- ETL數倉測試
- 開發流程規範機制
- 資料倉儲基礎介紹
- ABP 資料訪問 - IRepository 倉儲