資料裝載工具(ETL)設計(Extract Transform Load)

來源:互聯網
上載者:User
設計|資料

1.        系統預期

使用圖形化介面將外部資料檔案裝入資料庫並按照指定規則將裝入的資料添加或替換到目標資料庫中。

支援多種格式資料檔案。

支援檔案裝入規則可靈活訂製。

支援對指定資料檔案內容過濾配置。

實現範本管理員。

動作記錄記錄及日誌管理。

裝庫結果跟蹤。

裝庫過程體現批次概念。

裝庫過程監視。

2.名詞解釋

分析器(Parser)--- 用於將不同格式的資料檔案轉換為統一格式(以某符號包圍以某符號分隔的檔案格式,例:#content#,#content2#等形式)。

映射(mapping) ---  將資料檔案中的各段內容與預先處理庫中的欄位進行對應,在對應過程中支援合并、拆分、字串截取等操作。

過濾(filter)    ---  對指定欄位中的內容進行替換、刪除、判斷不等於某值時替換、判斷等於某值時替換等操作。

3.系統描述

系統採用圖形介面進行配置,其主要工作流程分為兩大部分:分別為預先處理部分和處理部分。預先處理部分工作流程為:首先將各種格式的資料檔案通過預定義的分析器(Parser)進行格式統一轉換。根據轉換後的資料檔案的結構(格式)在系統中產生預先處理表(PRD),然後根據商務規則對該結構進行一定的轉換(transformation)其中包括欄位對應(mapping)及欄位內容過濾(filter)操作,最後將資料檔案中的相應內容按照映射關係和過濾規則添加到產生的預先處理表中,並記錄日誌。至此預先處理部分結束。在預先處理部分中每個階段都有其相應的模板,設定時可直接選擇其相應模板即可完成設定工作。

處理部分工作流程為:首先選定來源資料庫即(預先處理庫),選定目的資料庫即(採購交接庫,加工庫),然後選擇裝庫規則(預先定義好的Adaptor設定檔)最後設定日誌資訊。在此階段可直接選擇已定義的模板進行設定。

完成以上兩部分設定後則最終將資料檔案內容按照指定的規則匯入到目標資料庫中。

以上過程僅僅只是做了整個裝庫過程的配置步驟說明,在實際裝庫操作中可直接選擇裝庫模板,此模板為包括每個階段模板的總模板。可直接選擇此模板進行所有各階段的裝庫設定,之後點擊確定進行裝庫操作。

 

4.功能實現

系統在裝入資料檔案時採用外部格式統一方式,選用相應的資料格式解譯器(Parser)並設定其轉換規則將不同格式的資料檔案統一轉換成同一種資料格式。之後可將設定內容儲存為檔案格式轉換模板進行儲存。

將經過格式轉換的資料檔案匯入系統後對資料檔案的各段內容與預先處理資料庫欄位之間進行映射操作。並為預先處理資料庫欄位的欄位類型進行指定。映射操作中支援欄位合并及欄位拆分和欄位截取操作,分別用符號“+”、“方向箭頭”、“subString(字串開始位置,截取字元數量)來對標識及對對應的操作進行支援。

欄位對應操作後,對欄位內容進行過濾,過濾操作實現了將指定欄位內容進行替換、刪除、判斷如果等於某個值就替換為某值、如果不等於某值就替換為某值操作。過濾欄位(為所有可選擇的欄位)、欄位內容(欄位內容的某個值或整個欄位)另外還支援將日期格式“04/12/2004”轉換成“2004/04/12”等日期格式轉換操作。

對欄位內容進行過濾後指定來源資料庫(預先處理庫)及目的資料庫(採購交接庫及加工庫)並設定裝庫日誌列表,指定裝庫規則後選擇確定,系統自動將對來源資料庫及目的資料庫的設定,裝庫日誌資訊修改到Adaptor預先定義好的模板檔案的相應位置,並調用後台Adaptor引擎進行裝庫操作。

Adaptor引擎在執行時將自己封裝成一個進程,前台系統通過監測該進程的狀態判斷裝庫進度。Adaptor引擎在執行裝庫操作時將日誌資訊及裝庫操作的一些資訊寫到相應資料表中,前台系統監測執行裝庫任務的進程開始後便可到相應資料表中取出裝庫操作資訊(已經裝入的記錄條數)及裝庫日誌到前台顯示。從而實現裝庫過程監視功能。

 

4.1分析器(Parser)實現

分析器為針對某種格式的資料檔案開發的能夠將其轉換成某種特定格式的程式類,一個分析器可能包括一個或多個程式類及一個設定檔。

設定檔是系統能夠識別及正確使用該分析器的前提,即系統通過解析該設定檔來正確調用分析器的程式類實現特定的功能。系統解析該設定檔後便知道需要傳入什麼樣的參數及如何調用些分析器的各個程式類。

在設定檔中主要描述程式類的方法名稱調用參數及方法注釋等。

介面顯示如下:

   

 

4.2映射(mapping)實現

映射操作是將讀入的資料檔案內容與預先處理庫的欄位進行對應及為預先處理庫的欄位指定資料類型的操作,在映射過程中可進列欄位合并、複製、拆分、截取操作。

欄位合并:此操作是將兩個或兩個以上的資料檔案字串合并成一個欄位對應到預先處理庫中,在合併作業時各合并的欄位有先後順序。在介面中使用“+”號來識別欄位合併作業。

例如:資料檔案欄位標識1+資料檔案欄位標識2+資料檔案欄位標識3

欄位複製:此操作是將資料檔案字串複製全併到預先處理庫的某個欄位中。在介面中使用“方向線”來標識此操作。

欄位拆分:此操作是將一個資料檔案字串拆分成兩個或兩個以上的字串分別對應到到預先處理庫的相應欄位。在介面中使用“方向線”和“subString()”來標識拆分操作。

欄位截取:此操作是將一個資料檔案字串按要求進行截取後對應到預先處理庫的相應欄位中。在介面中使用“方向線”和“subString()”來標識。

                    例如:subString(字串開始位置,截取字元數量)

介面顯示如下:

4.3過濾(filter)實現

過濾操作是將指定的預先處理庫欄位的內容進行替換、刪除、判斷替換、判斷刪除、格式轉換操作。

替換:將指定的欄位中的某些字元替換成其它字元。在介面中使用“替換”來標識此操作。

刪除:將指定欄位中的某些字元刪除。在介面中使用“刪除”來標識此操作。

判斷替換:將指定欄位中的某些字元進行判斷如果“不等於”則替換。在介面中使用“不等於”來標識此操作。

將指定欄位中的某些字元進行判斷如果“等於”則替換。在介面中使用“等於”符號來標識此操作。

 

 

判斷刪除:將指定欄位中的某些字元進行判斷如果“不等於”則刪除。在介面中使用“不等於”來標識此操作。

將指定欄位中的某些字元進行判斷如果“等於”則刪除。在介面中使用“等於”符號來標識此操作。

4.4 資料轉庫實現

         資料轉庫操作是將已裝入預先處理庫的資料按照配置的規則轉到其它資料庫中。其中包括記錄內容判斷、記錄添加、記錄修改等資料庫操作。其實現方式為首先對裝庫流程的規則預先定義一個Adaptor模板及Adaptor設定檔,通過系統可視化操作對Adaptor設定檔中的相應值進行修改,並對其中用到的日誌內容進行設定,完成後調用Adaptor引擎進行轉庫操作。Adaptor引擎則將自己封裝成一個進程運行,系統通過動態監測該進程的狀態來監控執行進度。Adaptor引擎進行轉庫操作中將日誌資訊及轉庫的記錄條數等資訊寫到轉庫資訊表及日誌表中,系統通過從日誌資訊及轉庫資訊表中讀取資訊來顯示其執行進度及已執行的記錄條數等資訊。同時系統通過監測該進程是否結束來判斷操作是否已經結束,如已經結束則顯示全部轉庫資訊。

 

備忘:在整個操作過程中在對資料未進行過濾之前先將資料檔案內容原樣放裝入資料庫中一份做為備份。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。