ETL方法與過程講解

2021-09-27 10:30:44 字數 1876 閱讀 5678

1 etl基本概念和術語

1.1 etl

extract-transform-load的縮寫,資料抽取(extract)、轉換(transform)、裝載(load)的過程。

1.2 dw

datawarehousing,根據bill.inmon的定義,「資料倉儲是面向主題的、整合的、穩定的、隨時間變化的,主要用於決策支援的資料庫系統」。

1.3 metadata

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

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 inte***ce format) 

cif是etl經過c/s/s過程產生的中間資料檔案。

plf (pre-load format) 

經過資料轉換,用於直接載入到資料倉儲的文字檔案,其資料結構與資料倉儲中的表定義一致。

3 資料處理流程圖

4 資料對照開發流程

ETL增量抽取方法講解

一 etl體系結構 資料庫 抽取 轉換 載入 目的資料來源 二 etl抽取方案 1 全量抽取 全量抽取類似於資料遷移或資料複製,它將資料來源中的表或檢視的資料原封不動的從資料庫中抽取出來,並轉換成自己的etl工具可以識別的格式,全量抽取比較簡單。全量抽取一般只在系統初始化時使用,全量一次後,就要每天...

ETL方法與過程基本概念

1 etl基本概念和術語 1.1 etl extract transform load的縮寫,資料抽取 extract 轉換 transform 裝載 load 的過程。1.2 dw datawarehousing,根據bill.inmon的定義,資料倉儲是面向主題的 整合的 穩定的 隨時間變化的,...

ETL入門基礎與設計講解

etl是將業務系統的資料經過抽取 清洗轉換之後載入到資料倉儲的過程,目的是將企業中的分散 零亂 標準不統一的資料整合到一起,為企業的決策提供分析依據。etl是bi專案重要的乙個環節。通常情況下,在bi專案中etl會花掉整個專案的1 3的時間,etl設計的好壞直接關接到bi專案的成敗。etl的設計分三...