走進大數據丨 ETL

開發環境準備 :

走進大數據丨 ETL - 開發流程及管理

開發需檢查以下環境是否ready:

  • SAP開發用測試數據源準備就緒。
  • 數據倉庫的Oracle(MySQL)數據庫準備就緒,ETL要加載的表已創建。
  • ETL Server的相關軟件(DataStager Server及MetaStage)已安裝就緒。
  • ETL Server與SAP數據源及目標Oracle數據庫的連接已通過測試。
  • 在ETL Server上創建與Oracle連接的ODBC已創建。
  • 在ETL Server上創建開發人員的用戶。
  • 在ETL Server上設置共享使開發人員可以訪問的中間文件目錄。

開發步驟

  • 日常數據加載
  • 開發ETL mapping文檔確定每個源表的數據抽取規則(確定增量還是完全抽取)
  • 開發ETL mapping文檔完成源-EXF-CIF對照關係及CIF-PLF-目標的對照關係
  • 開發Component JOB完成ETL每個子任務
  • 開發Group Job完成對Component Job的封裝
  • 開發Job Dependence文檔定義Group Job之間的依賴關係
  • 根據Job Dependence文檔開發Sequencer Job
  • 根據Sequencer Job開發對應的Schedule Job
  • 根據業務狀況設定合適的Schedule自動完成批量數據表的加載

初始數據加載

  • 確定需要開發初始抽取的數據源範圍,即列出需要開發初始加載程序的數據源列表
  • 開發相應的ETL抽取JOB
  • 開發相應的Group Job完成ETL抽取及變換任務的封裝
  • 根據Job Dependence文檔開發Sequencer Job
  • 手動運行Sequencer Job完成批量數據表加載

歷史數據加載

  • 只有細節表才可能要求有歷史數據加載
  • 確定需要歷史加載的數據表範圍,即列出需要開發歷史加載程序的數據表列表
  • 開發ETL mapping文檔確定每個源表的數據抽取規則
  • 開發ETL mapping文檔完成源-EXF-CIF-PLF-目標的對照關係
  • 開發ETL JOB完成ETL加載任務

另外如果我們在ETL過程中遇到問題需要及時處理。我們可以採用警告、日誌發送的方式來發現和處理問題。

ETL日誌

ETL日誌分為三類。一類是執行過程日誌,這一部分日誌是在ETL執行過程中每執行一步的記錄,記錄每次運行每一步驟的起始時間,影響了多少行數 據,流水賬形式。一類是錯誤日誌,當某個模塊出錯的時候寫錯誤日誌,記錄每次出錯的時間、出錯的模塊以及出錯的信息等。第三類日誌是總體日誌,只記錄 ETL開始時間、結束時間是否成功信息。如果使用ETL工具,ETL工具會自動產生一些日誌,這一類日誌也可以作為ETL日誌的一部分。記錄日誌的目的是 隨時可以知道ETL運行情況,如果出錯了,可以知道哪裡出錯。

  • 警告發送

如果ETL出錯了,不僅要形成ETL出錯日誌,而且要向系統管理員發送警告。發送警告的方式多種,一般常用的就是給系統管理員發送郵件,並附上出錯的信息,方便管理員排查錯誤。

走進大數據丨 ETL - 開發流程及管理

ETL是BI項目的關鍵部分,也是一個長期的過程,只有不斷的發現問題並解決問題,才能使ETL運行效率更高,為BI項目後期開發提供準確的數據。


分享到:


相關文章: