999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向數據倉庫的ETL工具的研究與實現

2018-04-12 04:23:30林昆
計算技術與自動化 2018年1期

林昆

摘 要:闡述了ETL工具在數據倉庫系統的建設過程中所處的重要地位,提出了一個基于工作流引擎的ETL系統設計。系統實現一個輕量級的工作流引擎作為ETL流程的調度中心,利用元數據保存記錄ETL流程的信息,創建基于數據庫引擎的ETL操作組件庫來完成從數據源到數據目標的數據映射,并初步實現了對大數據環境數據抽取的支持,從而構建了一個具有良好可擴展性和開放性的ETL系統。

關鍵詞:數據倉庫;ETL;工作流引擎;元數據管理

中圖分類號:TP311.1

文獻標志碼:A

1 引 言

數據倉庫是面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持經營管理中的決策制定過程[1]。服務于商業智能的數據倉庫的成功實施,體現著對新的觀念和解決方案日益增長的需求[2-4]。數據倉庫的數據源自于不同的業務系統,這些數據的異構性、空缺或冗余等問題是制約數據倉庫數據質量的重要因素[5]。此外,供決策使用的數據倉庫的數據是統計性數據,而來自日常系統的細節數據的簡單堆砌無法滿足商業智能的要求。

數據倉庫化建設作為建立數據倉庫的必要步驟,通常需要建立從數據源到數據目標的多對一的映射關系,ETL(Extraction-TransformatiorrLoad,抽取一轉換一加載)工具提供一個方便使用的倉庫化建設方法,使用戶可以有效的構建從異構數據源到數據目標的映射關系。

2 ETL相關概念

ETL,即數據抽取(Extraction)、轉換(Trans-formation)和加載(Load),是構建數據倉庫的必要步驟。數據管理員根據實際需求,定義特定的映射關系,實現從業務系統數據源到目標數據倉庫的遷移,并在遷移過程數據完成了必要的轉換和清洗,如圖1所示。

2.1 ETL的具體步驟

數據倉庫建設的一個重要環節是將數據從各個具體的業務系統中抽取出來,清除數據存在的缺陷和不一致性,完成必須的加工處理,最后將數據加載到數據倉庫中[6]。這一過程形成了一個模塊化、流程化和易修改的模型。下面詳細介紹各個步驟的細節。

1)數據抽取( Extraction)

ETL過程的第一個環節,從數據源中抽取數據,為后續各個處理操作提供數據準備。

業務數據源中包含了大量的細節數據,抽取需要根據數據倉庫的預定義模型,挑選對倉庫主題有貢獻的部分,再將其抽取進入ETL系統。這一過程中需要考慮到:

·數據源來自哪些表或文件。

·數據庫模型的一致性。

·需要抽取哪些字段,是否設置抽取條件。

2)數據轉換( Transformation)

通過抽取操作進入ETL系統的數據,往往存在著嚴重的異構性。這些數據雖然都是數據倉庫必需的,但是由于來源于異構數據源,數據在格式、命名方式、值范圍表示方式等方面都存在著差異。

針對這些差異,數據轉換主要完成兩方面的任務:一是把不同數據源、格式不一致的“臟數據”清洗成一致的數據;二是對原始數據進行必要的轉換處理以滿足數據倉庫的要求[7]。

3)數據加載(Load)

數據加載的任務就是將前面兩個步驟處理完成的數據,加載到數據目標中,完成數據倉庫的數據準備[8]。

3 ETL系統的架構設計

如圖2所示,ETL系統的設計思想是以工作流為控制調度中心,利用元數據信息保存和記錄ETL過程信息,定義ETL過程中各種轉換規則的工作以組件的形式存在,并提供可視化界面供用戶定義、修改ETL的流程,系統通過數據訪問模塊訪問數據源和數據目標。

將工作流技術和元數據技術應用到ETL工具中已經是目前ETL工具發展的一種趨勢。利用這兩種技術,ETL流程的靈活性和可控制性將大大提高,用戶可以根據需要自由的選擇數據清洗和數據轉換操作,并按照數據處理的流程靈活的編排所選擇的操作;同時ETL工具的可擴展性也得到增強,在工作流技術的支持下,所有的數據清洗和轉換操作都成為工作流活動的資源,因此工具可以根據需要靈活的添加清洗和轉換操作,從而擴展相應的處理能力。

3.1 元數據管理

元數據是對ETL過程的形式化定義,它包括ETL流程信息的定義和ETL操作規則的定義兩個主要部分。流程信息主要記錄了ETL過程中包含的各種操作,以及操作之間的先后順序關系;操作規則信息主要記錄了每個操作的具體轉換規則設置,如過濾器的過濾條件,投影操作的字段列表選擇等等。

如圖3所示,ETL系統的元數據呈樹形的層次關系,ETL流程包含了若干任務和轉移信息,轉移信息用來標識任務先后順序,從而確定ETL流程中各任務的關系圖;在ETL系統中,操作組件被指派給工作流任務,作為任務的執行應用程序;每個操作組件包含著特定的轉換規則設置和操作屬性,轉換規則是指操作中處理的各個字段的映射關系,如源表A的year,month,day三個字段映射到目標表B的date字段,操作屬性是指針對數據行記錄的處理屬性,如只處理源表中工齡字段值大于10年的記錄。

ETL系統的元數據的樹形關系特點使得元數據信息很適合用XML文件來記錄。XML樹結構直觀地表現出元數據的關系,并提供方便的操作方法。

3.2 工作流引擎

為了提供靈活的控制調度能力,本系統構建輕量級工作流引擎,調度中心接收到由元數據管理模塊解析生成的流程定義數據,檢查ETL任務之間的依賴關系、轉發控制等關聯,從而確定任務執行的實際流程,并按照這個流程調度活動進行執行,工作流調度流程如圖4所示:

3.3

ETL操作組件庫

ETL系統中,最終完成從數據源到數據目標的映射轉換的工作是由ETL操作組件來承擔的。一個功能健全的ETL操作組件庫,是ETL系統必備的部分。

在本系統中,完成這項工作的操作部件以組件庫的形式發布,供工作流引擎調度執行;同時,操作組件遵循統一的接口開發,并添加到組件庫中;從而大大增強了系統的可擴展性。系統現有的操作組件庫如表1所示:

4 ETL系統的實現

4.1 基于XML的元數據管理

在ETL系統中,元數據庫是一個基礎元素,它保存記錄了ETL過程中所需的各種輔助信息,是ETL過程正確執行的關鍵。這些輔助信息主要包含了如下信息:

·映射元數據(mapping meta_data,MM):這一模型用于描述映射規則及其映射表達式。我們使用映射表達式來表示標識目標字段如何從一系列源字段映射而來所需要的信息。

·源模型( source model,SM):用于描述業務系統源數據的模型。

·目標模型( target model,TM)和源模型類似,它描述一個目標數據模型。

ETL系統中擁有一個豐富的ETL操作組件庫,這些組件是完成數據映射的最終實現者,為了保存記錄各種操作組件信息,為工作流引擎提供一個統一的使用接口,系統利用面向對象設計的思路,構建元數據繼承體系,抽象得到一個統一的接口,屏蔽了復雜、相異的具體實現。

元數據管理實現中,元數據信息以XML文件的形式保存,元數據中各種對象信息用一個節點表示,對象之間的關系,則在樹形層次關系中得以體現。元數據管理包括了內存對象到文件信息的編輯、更新以及文件信息到內存對象的解析、構造兩個部分。

4.2 輕量級的工作流引擎

工作流引擎對ETL流程的執行進行總體控制,是ETL系統的調度中心。工作流引擎負責從ETL流程定義形成的圖結構中,分析出各個階段中處于就緒狀態的任務,分配相應的資源,并啟動任務執行,如圖5所示,工作流引擎的主要工作包括:

(1)解析流程定義文件,分析出流程中包含的任務;

(2)分析流程圖中各任務的狀態;

(3)為就緒狀態的任務分配系統資源;

(4)啟動得到資源的任務;

(5)循環步驟2~步驟4,直到整個流程執行完成。

在整個流程的調度過程中,工作流引擎維持著三個隊列一一未就緒任務隊列、就緒狀態任務隊列和已完成任務隊列,三個隊列的管理如下:

·流程剛啟動的時候,就緒狀態任務隊列包含了流程的啟動任務;

·系統存在空閑資源時,引擎將處于就緒狀態任務隊列隊頭的任務出隊,為其分配資源,并啟動執行;

·任務執行成功后,引擎將任務被加入到已完成任務隊列中。

·當有新任務進入已完成任務隊列時,啟動任務狀態分析工作,分析任務的轉移信息,更新狀態的就緒狀態,并將已處于就緒狀態的任務加入到就緒隊列。

當所有的任務均成功執行后,引擎便完成對ETL流程的調度。

4.3 基于數據庫引擎的ETL操作組件

基本數據庫引擎的ETL操作組件實現中,我們允許數據庫管理系統(DBMS)在作為數據存儲介質的同時,扮演數據轉換引擎的角色。ETL系統中的各種轉換映射規則,可以以soL查詢的形式體現,soL查詢可以用于任何構造過程,包括數據抽取、直接存儲、清洗過程和整個流程的映射規則信息傳送。

從ETL映射規則到soL查詢的產生過程,由soL生成器完成。生成器可以從元數據庫中讀取必要的參數和映射規則來創建一個soL轉換。具體來說,一個映射元數據作為生成器的參數輸入,從而生成操作的soL查詢。在這個過程中,所有的控制和檢查都應用于數據,因此,這些查詢不僅僅是對數據的修飾;它裝載數據模式結構和有效的值集。我們使用soL查詢是因為它們易于理解,而且在DBMS中非常高效。現有的工具大都創建一系列的程序來完成轉換過程,對這些工具進行優化是相當不容易的。相反,soL生成器使用查詢優化來得到高性能。

4.4 ETL系統的可擴展性與開放性

ETL系統的核心實現包括了wfProcess(工作流流程)、wfActivity(工作流活動)、wfTransition(工作流轉移)、ETLLib(ETL操作組件庫)和Re-pository(元數據管理)五大部分,其中wfProcess、wfActivity和wfTransition組成了ETL系統的流程管理內核,負責整個數據倉庫化過程編排和執行;ETLLib是數據抽取、轉移、清洗和加載操作的具體實現,包含了若干種具體操作組件,流程執行時,ETLLib操作組件作為一種資源依附到wfAc-tivity中,從而得到執行;Repository則負責整個ETL過程的記錄和持久化工作。

ETL系統的實現形成了wfProcess-wfActivity-ETLLib三層管理模式,從而實現了ETL流程管理與操作組件庫的解耦,同時ETLLib定義了簡明規范的接口,在面對不斷變化的數據處理需求時,一方面可以遵循ETLLib接口,開發新的內置操作組件,擴展系統的處理功能;另一方面,對于特殊的小眾需求,用戶可自行開發符合接口規范的外部組件,并通過相關參數設置,將外部組件依附到wfActivity中,成為ETL流程的一環;內置組件的簡易擴展和對外部組件的支持,使ETL系統具備良好的可擴展性和開放性。

4.5 ETL系統對大數據環境的支持

近年來,大數據技術發展迅猛,以Hadoop為代表的業界主流技術日趨成熟和穩定,越來越多的企業和單位開始將生產和管理數據存儲在大數據平臺上,ETL系統操作組件庫增加了兩個實驗性的操作組件,如表2所示,以增強ETL系統對大數據環境的支持。

5 結束語

面向數據倉庫的ETL工具從數據倉庫化建設的角度實現多平臺數據環境和異構數據環境的數據集成,利用工作流技術和元數據管理技術實現ETL流程的靈活定義、更新和調度執行已經是ETL系統發展的一個趨勢。

本文闡述了ETL的過程及其在數據倉庫系統建設中所處的重要地位,展示了一個基于輕量級工作流引擎的ETL系統設計,并且以組件的形式定制ETL轉換規則操作,使系統具有較好的開放性和可擴展性;同時,系統初步實現了對大數據環境數據抽取的支持,使得ETL工具能夠更好的適應大數據環境的數據處理需求。在后續的研究中,我們將以ETL流程優化和對大數據環境的全面支持作為研究重點,通過對流程的分析,利用合理的交換、提取/分發、合并/分解等手段,將ETL流程中的選擇操作向前推、數據處理操作向后推,從而提高整個ETL流程的執行效率,并提升ETL工具對大數據時代發展需求的支持。

參考文獻

[1]WILLIAN H I.數據倉庫[M].北京:機械工業出版社,2006.

[2]孟維一,基于數據倉庫的保險商業智能系統設計與實現[D].北京:北京交通大學,2016.

[3]李娜.基于數據倉庫的商務智能經營系統設計與實現[J].現代電子技術,2016,39(15):140-144.

[4]王新蓓,謝文閣,王中權,數據倉庫解決方案在電子商務中的應用[J].數字技術與應用,2015,(4):101-101.

[5] 李蕓,基于增強ETL過程的大數據策略研究[J].電腦知識與技術,2014,(34):8081-8082.

[6] 曾志浩,姚貝,張瓊林,等.基于Hadoop平臺的用戶行為挖掘[J].計算技術與自動化,2015,(2):100-103.

[7] 張春亮.基于ETL的企業數據交換平臺的設計與實現[D].哈爾濱工業大學,2016.

[8] 王彥慈,銀行業務數據倉庫數據導入的分析與設計[J].軟件,2012,33(9):147-148.

[9]徐俊剛,裴瑩,數據ETL研究綜述[J].計算機科學,2011,38(4):15-20.

[10] 林建昌,電力行業分布式ETL數據集成系統研究與實現[D].成都:電子科技大學,2015.

主站蜘蛛池模板: 国产成人综合网在线观看| 亚洲永久色| 国产一级毛片yw| 亚洲精品国产日韩无码AV永久免费网| 精品综合久久久久久97超人| 福利在线一区| 日本高清免费一本在线观看 | 波多野结衣在线se| 永久免费精品视频| 婷婷亚洲最大| 色婷婷视频在线| 高清无码手机在线观看| 久久国产亚洲偷自| 亚洲无限乱码一二三四区| 丁香亚洲综合五月天婷婷| 亚洲91在线精品| 久久 午夜福利 张柏芝| 91精品久久久久久无码人妻| 91无码人妻精品一区二区蜜桃| 亚洲永久免费网站| 欧美在线黄| 国产v精品成人免费视频71pao | 国产熟睡乱子伦视频网站| 亚洲欧美另类久久久精品播放的| 国产精品真实对白精彩久久| 丁香综合在线| 欧美97色| 免费看黄片一区二区三区| 91网红精品在线观看| 国产精品私拍在线爆乳| 老司机精品一区在线视频| 亚洲黄网在线| 国产在线观看一区精品| 天天综合网在线| 任我操在线视频| 国产欧美日韩91| 狠狠做深爱婷婷综合一区| 色网站在线免费观看| 亚洲欧美另类专区| 久久久久人妻一区精品| 亚洲精选高清无码| 国产成人亚洲综合a∨婷婷| 久久精品国产免费观看频道| 亚洲国产欧美国产综合久久| 国产成人三级| 亚洲一区波多野结衣二区三区| 亚洲天堂视频网站| 波多野结衣一区二区三区88| 精品久久久久成人码免费动漫| 不卡无码网| 亚洲国产成人久久精品软件| 思思热精品在线8| 67194在线午夜亚洲| 亚洲精品天堂自在久久77| 再看日本中文字幕在线观看| 啪啪免费视频一区二区| 色妞www精品视频一级下载| 理论片一区| 日本免费新一区视频| 91破解版在线亚洲| 高清亚洲欧美在线看| 国产v精品成人免费视频71pao | 国产成人高清亚洲一区久久| 日本爱爱精品一区二区| 狼友av永久网站免费观看| 四虎国产在线观看| 日韩 欧美 小说 综合网 另类 | 91系列在线观看| 人妻无码AⅤ中文字| 国产成人综合网| 日韩av无码DVD| 欧美一区二区三区不卡免费| 国产亚洲高清视频| 999精品免费视频| 国产在线观看高清不卡| 色欲色欲久久综合网| 国产高清在线观看| 91色综合综合热五月激情| 精品视频在线一区| 亚洲妓女综合网995久久| 激情午夜婷婷| 亚洲第一色网站|