ETL方法與過程講解

1 ETL基本概念和術語

1.1 ETL

Extract-Transform-Load的縮寫,數據抽取(Extract)、轉換(Transform)、裝載(Load)的過程。

1.2 DW

DataWarehousing,根據Bill.Inmon的定義,“數據倉庫是面向主題的、集成的、穩定的、隨時間變化的,主要用於決策支持的數據庫系統”。

1.3 MetaData

元數據,就是描述數據的數據,指在數據倉庫建設過程中所產生的有關數據源定義、目標定義、轉換規則等相關的關鍵數據。

>>瞭解更多ETL<<

1.4 ETL在數據倉庫中的位置

這裏寫圖片描述

1.5 數據質量

  • 正確性(Accuracy):數據是否正確體現在現實或可證實的來源
  • 完整性(Integrity):數據之間的參照完整性是否存在或一致
  • 致性(Consistency):數據是否被一致的定義或理解
  • 完備性(Completeness):所有需要的數據是否都存在
  • 有效性(Validity):數據是否在企業定義的可接受的範圍之內
  • 時效性(Timeliness):數據在需要的時間是否有效
  • 可獲取性(Accessbility):數據是否易於獲取、易於理解和易於使用

1.6 數據質量原因

  • 業務系統不同時期數據模型不一致
  • 業務系統不同時期業務過程有變化
  • 各個源系統之間相關信息不一致
  • 遺留系統和新業務、管理系統數據集成不完備帶來的不一致性
  • 源系統缺少輸入驗證過程,不能阻止非法格式的數據進入系統
  • 可以驗證但不能改正數據,驗證程序不能發現格式正確但內容不正確的錯誤
  • 源系統不受控制的更改,而這種更改不能及時的傳播到受影響的系統
  • 數據由多個交叉的訪問界面,難以統一管理數據質量問題
  • 缺少參照完整性檢查低劣的源系統設計
  • 數據轉換錯誤,比如ETL過程錯誤或數據遷移過程的錯誤
  • 源系統與數據倉庫系統的數據組織方式完全不同

1.7 數據轉換

  • 空值處理
  • 規範化數據格式
  • 拆分數據
  • 驗證數據合法性
  • 數據替換
  • 實現數據規則過濾
  • 數據排序
  • 數據類型統一轉換

2 邏輯架構圖

這裏寫圖片描述

2.1 Extract

  • 設計原則
    • 爲提高ETL效率,數據在進入ETL系統後的EXF文件都將轉換爲Flat Text文件格式
    • 從ETL程序設計的靈活性和整體結構的一致性考慮,儘量採用Pull的方式,減少對源系統的影響和對其他開發隊伍的依賴,並減少網絡壓力
    • 由於Batch Windows的限制,如果日源數據量大於5GB則必須考慮採用Push的方式以提高傳送速度,如,可以由源系統將數據轉換爲Flat Text文件後,由ETL程序採用FTP的方式進行傳送
    • EXF的文件格式接近數據源的數據結構定義
    • 在Extract過程中過濾數據倉庫不需要的數據記錄和字段
  • Push和Pull
    • Push
      在源系統上根據定義的數據格式將每日增量數據生成數據文件,再通過FTP或文件拷貝的方式傳送給ETL程序處理。
    • Pull
      由ETL程序通過DRDA或ODBC等數據庫協議直接訪問源數據庫獲取所需數據進行處理。

2.2 數據轉換過程中產生的文件

  • EXF (Extracted Format)
    由數據源Extract產生的文件,文件結構與Source相似,經過過濾,部分字段被忽略。
  • CIF (Common Interface Format)
    CIF是ETL經過C/S/S過程產生的中間數據文件。
  • PLF (Pre-Load Format)
    經過數據轉換,用於直接加載到數據倉庫的文本文件,其數據結構與數據倉庫中的表定義一致。

3 數據處理流程圖

這裏寫圖片描述

4 數據對照開發流程

這裏寫圖片描述

  1. 收集整理所有數據源,定義源數據結構(與EXF相同)
  2. 根據物理模型設計定義數據倉庫數據(與PLF相同)結構
  3. 設計源數據表(文件)與數據倉庫數據表對應關係(Table Mapping),確定Pilot的數據源範圍
  4. 設計源數據字段與數據倉庫字段的數據對照
  5. 設計CIF的數據結構
  6. 設計源數據字段-EXF-CIF-PLF-數據倉庫數據字段的數據對照

參考:
http://blog.itpub.net/11423276/viewspace-979743/
http://wenku.baidu.com/link?url=6OCkGyP0-X6Qzu8JJnBwz05P6qc8Khs6yutAmNZM2WEQWZxVm658H7UL3wYk2L_Ub7eE8GjznVBu16IpRg_IiP75TMS9s49WhJiGudiVgXC

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章