數據抽取前,需要作大量的準備工作。具體如下:

    1、 針對目標數據庫中的每張數據表,根據映射關系中記錄的轉換加工描述,建立抽取函數。該映射關系為前期數據差異分析的結果。抽取函數的命名規(guī)則為:F_目標數據表名_E。

    2、 根據抽取函數的SQL 語句進行優(yōu)化??梢圆捎玫膬?yōu)化方式為:調整SORT_AREA_SIZE和HASH_AREA_SIZE 等參數設置、啟動并行查詢、采用提示指定優(yōu)化器、創(chuàng)建臨時表、對源數據表作ANALYZES、增加索引。

    3、 建立調度控制表,包括ETL 函數定義表(記錄抽取函數、轉換函數、清洗函數和裝載函數的名稱和參數)、抽取調度表(記錄待調度的抽取函數)、裝載調度表(記錄待調度的裝載信息)、抽取日志表(記錄各個抽取函數調度的起始時間和結束時間以及抽取的正確或錯誤信息)、裝載日志表(記錄各個裝載過程調度的起始時間和結束時間以及裝載過程執(zhí)行的正確或錯誤信息)。

    4、建立調度控制程序,該調度控制程序根據抽取調度表動態(tài)調度抽取函數,并將抽取的數據保存入平面文件。平面文件的命名規(guī)則為:目標數據表名.txt。

    數據轉換的工作在ETL 過程中主要體現為對源數據的清洗和代碼數據的轉換。數據清洗主要用于清洗源數據中的垃圾數據,可以分為抽取前清洗、抽取中清洗、抽取后清洗。ETL 對源數據主要采用抽取前清洗。對代碼表的轉換可以考慮在抽取前轉換和在抽取過程中進行轉換。

    具體如下:

    1、針對ETL 涉及的源數據庫中數據表,根據數據質量分析的結果,建立數據抽取前的清洗函數。該清洗函數可由調度控制程序在數據抽取前進行統一調度,也可分散到各個抽取函數中調度。清洗函數的命名規(guī)則為:F_源數據表名_T_C。

    2、針對ETL 涉及的源數據庫中數據表,根據代碼數據差異分析的結果,對需要轉換的代碼數據值,如果數據長度無變化或變化不大,考慮對源數據表中引用的代碼在抽取前進行轉換。抽取前轉換需要建立代碼轉換函數。代碼轉換函數由調度控制程序在數據抽取前進行統一調度。

    代碼轉換函數的命名規(guī)則為:F_源數據表名_T_DM。

    3、對新舊代碼編碼規(guī)則差異較大的代碼,考慮在抽取過程中進行轉換。根據代碼數據差異分析的結果,調整所有涉及該代碼數據的抽取函數。

    6.4.4 數據遷移后的校驗

    在數據遷移完成后,需要對遷移后的數據進行校驗。數據遷移后的校驗是對遷移質量的檢查,同時數據校驗的結果也是判斷新系統能否正式啟用的重要依據。可以通過兩種方式對遷移后的數據進行校驗。

    對遷移后的數據進行質量分析,可以通過數據質量檢查工具,或編寫有針對性的檢查程序進行。對遷移后數據的校驗有別于遷移前歷史數據的質量分析,主要是檢查指標的不同。遷移后數據校驗的指標主要包括五方面:完整性檢查,引用的外鍵是否存在;一致性檢查,相同含義的數據在不同位置的值是否一致;總分平衡檢查,例如欠稅指標的總和與分部門、分戶不同粒度的合計對比;記錄條數檢查,檢查新舊數據庫對應的記錄條數是否一致;特殊樣本數據的檢查,檢查同一樣本在新舊數據庫中是否一致。

    新舊系統查詢數據對比檢查,通過新舊系統各自的查詢工具,對相同指標的數據進行查詢,并比較最終的查詢結果;先將新系統的數據恢復到舊系統遷移前一天的狀態(tài),然后將最后一天發(fā)生在舊系統上的業(yè)務全部補錄到新系統,檢查有無異常,并和舊系統比較最終產生的結果。

分享到

多易

相關推薦