《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 面向數據倉庫和數據挖掘的ETL設計與應用
面向數據倉庫和數據挖掘的ETL設計與應用
付中偉1,張 浩2,陸劍峰1
(1.同濟大學 CIMS研究中心,上海200092; 2.上海電力學院,上海200092)
摘要: 設計了一個具有良好的可擴展性、通用性、友好的JSP操作界面和統一的元數據管理等特點的數據ETL系統。結合實例介紹了此系統在石化企業中的應用。
關鍵詞: ETL JSP界面 元數據
Abstract:
Key words :

摘   要: 設計了一個具有良好的可擴展性、通用性、友好的JSP操作界面和統一的元數據管理等特點的數據ETL系統。結合實例介紹了此系統在石化企業中的應用。
關鍵詞: 數據倉庫  數據挖掘  ETL  JSP界面  元數據

  數據ETL是一個來源于數據倉庫的概念,指數據抽取(Extraction)、轉換(Transformation)、清洗(Cleaning)、裝載(Loading)的過程,是構建數據倉庫的重要環節[1]。它從運作資源中抽取數據并按照一定的要求將數據進行轉換和清洗,最后將高質量的數據裝載到數據倉庫或數據集市中,為更高層次的應用提供決策分析。不同的運用領域,數據ETL有著不同的內涵。因此通用的集成清洗方案受到了越來越多的重視。數據ETL在數據清洗工具的通用化、高效化和智能化上還有很多發展空間。
本文在開發某石油天然氣公司的決策支持系統和遠程監控數據挖掘分析系統的基礎上,針對數據倉庫和數據挖掘,設計并實現了一套通用的、可擴展的、具有可視化交互界面的ETL系統。
1  數據ETL工具通用框架
1.1 設計思想
  一個好的ETL系統應該能適應各種操作平臺,支持更多的數據源。一般企業都會面對并處理來自各種系統的數據源。現存的操作數據又存在很多質量問題,如:濫用縮寫詞和慣用語、數據輸入錯誤、重復記錄、缺損值、不同的計量單位和過時的編碼等等。因此,異構多數據源的集成和數據清洗將是數據ETL所面臨的兩大問題。
  某流程型企業的數據源分布和數據集成過程如圖1所示。其中異構數據源包括實時數據庫(Infoplus)、PMIS數據庫。生產實時數據來源于實時數據庫系統采集DCS上的現場數據。銷售管理數據來源于包含IFS的設備模塊、OA系統、生產管理系統、安全環保系統等整個企業的管理層應用系統(PMIS)。另外,一部分歷史數據可能會以純文本的形式存放,同時,決策分析所用的一部分中間數據存放在Oracle數據庫中。隨著生產網絡化的日益發展,大量的數據也會以XML的形式存放。

  因此,ETL系統應該對以上各種數據源類型都能有很好的支持。
  一般的數據ETL工具較多針對數據倉庫,但這類ETL工具在其他領域中的應用往往不夠靈活。為了實現ETL系統的通用型和實用性,需要在系統框架上進行更靈活的設計,使之既能針對數據倉庫實現數據的轉化,又能針對數據挖掘解決數據預處理方面工作。
  同時,為了更好地管理和維護ETL系統,也需要有完善的元數據對系統的支持。元數據能對整個系統,包括數據抽取任務、數據ETL類庫等進行統一的管理和維護,并溝通用戶與系統之間的交流。
1.2 ETL框架及模塊說明
  針對上述設計思想,本文設計了一個ETL通用框架,如圖2所示。現將其各部分功能詳述如下:

  (1)數據抽取。通用數據接口能夠跨平臺跨網絡訪問數據,支持不同類型數據源間建立連接,通過它可以屏蔽各種數據源之間的差異,為后序工作提供一個統一的數據視圖。目前已有多種可選的通用數據訪問接口,如ODBC、OLEDB、JDBC等,其中JDBC支持跨平臺訪問及網絡訪問數據。考慮到實際情況,本文采用JDBC和ODBC相結合的技術,使用SQL、PL/SQL和JAVA的完整功能,對外部數據源進行訪問。
  數據抽取通過通用數據訪問接口訪問各種異構數據源,并將數據抽取成統一格式的標準數據集。標準數據集的設計是為了實現數據標準化,從而進一步實現ETL系統的通用性和可擴展性。
  (2)標準數據集。標準數據集是作為系統內部交換的一種統一的數據結構。有了標準數據集,ETL系統就更易于擴展。所有抽取出來的數據在系統內部都表示成這種統一的數據結構,而所有數據轉換數據清洗算法的輸入輸出數據都按這種數據結構形式來組織。
  圖3中InputData類是本ETL系統的標準數據集結構。Item類表示項,其中itemName指項名,itemValue表示項的值,是一個ArrayList格式的數組。InputData類與Item類屬于面向對象中的依賴關系。InputData類中,name屬性是數據集的名字,owner屬性是數據集的用戶,createDate是數據集的創建時間,items是數據集的項,是由若干Item對象組成的一個HashMap。從中不難看出,Item對象對應于數據表中的一列,而InputData對象對應于由若干項組成的一個數據表。


  有了這樣的標準數據集結構,當需要擴展更多的數據轉換、清洗、裝載類的時候,只要這些類能滿足標準數據集接口,就能夠無縫地擴展到ETL系統之中。
  (3)數據預處理、數據集成和數據歸約。這是ETL系統的核心部分,是數據轉換和數據清洗的過程。
數據預處理負責對抽取到的數據進行初步的清洗,解決一些數據的簡單變換問題,如數據類型轉換、日期時間格式轉換、字段解碼、數據缺失值的簡單處理等,也為后面的數據復雜轉換和數據集成做準備工作。
  經過數據抽取后可以得到多個模式和多個實例數據集。然而數據倉庫和數據挖掘需要的是集成的、語義一致的數據。因此必須將多模式與數據集進行統一映射,轉換為單一的結果集。這就是數據集成的過程。在此過程中,首先應該將各種不同的數據進行元素化,得到格式統一的數據結構;繼而進行數據標準化,消除不一致的縮寫、簡寫等;然后進行數據的一致性校驗,在內容上修改各種錯誤。
  經過數據集成后的數據集中還包含許多相似重復記錄,它將嚴重影響數據倉庫的語義一致性,因此必須消除。在數據規約過程中,首先針對數據集進行匹配,即發現重復異常,然后根據匹配結果進行處理,刪除部分記錄或者將多個記錄合并為一個更完整信息的記錄。
  值得注意的是,數據轉換和數據清洗并不是孤立的,而是滲透在整個數據抽取、數據裝載甚至整個數據ETL過程中。
  (4)數據裝載。數據裝載通過通用數據訪問接口將標準數據集裝載到目的數據庫中。
  清洗后的數據結果集根據不同的需要,可以選擇裝載到數據倉庫中去,或者直接提供給數據挖掘做決策分析,或者存儲在中間數據庫中作為數據樣本集供日后數據分析所使用。
  (5)ETL類管理。ETL類管理是數據ETL系統元數據管理的一部分。元數據管理將在下文中再做說明。
ETL類庫中包括了所有的數據抽取、數據轉換/數據清洗、數據裝載類,每一個類可以實現一定的功能。用戶就是通過調用ETL類庫中不同的數據抽取類、數據清洗類和數據裝載類來實現一次完整的ETL過程。
  數據抽取類、清洗類和裝載類分別具有統一的接口。用戶可以根據數據抽取類接口、數據清洗類接口和數據裝載類接口來開發自己的數據ETL類,以實現更多的功能,并利用ETL類管理將新開發的類注冊到元數據庫中。
  值得注意的是,在一次ETL過程中,可能需要多次數據清洗操作,每個數據清洗步驟之間可以通過數據清洗類的源數據(輸入)和目標數據(輸出)進行連接,即通過數據流進行彼此約束。
  (6)流程控制與用戶可交互界面。一個好的ETL系統需要有友好的可視化工作界面。用戶通過可視化的工作界面,根據任務的需要和界面向導的提示,調用合適的ETL類,從而控制ETL工作流程,實現整個數據ETL工作過程。
2  ETL元數據管理
  元數據是關于數據的數據,對于ETL來說尤其重要。ETL中大量的數據源定義、映射規則、轉換規則、裝載策略等都屬于元數據范疇。如何妥善地存儲并管理這些信息已經關系到ETL過程能否順利完成,而且影響到后期的使用和維護。
  構造元數據主要包含兩方面:建立元數據模型和建立元數據管理系統。元數據管理系統主要完成二部分工作,一是維護元數據的物理存儲,二是提供定義、修改、訪問元數據的接口和工具[3]。本ETL系統的元數據模型包含數據元數據模型、ETL類元數據模型。使用Access數據庫作為元數據的物理存儲數據庫,這樣便于數據ETL系統的移植。
  采用面向對象的方法設計ETL元數據。元數據對象類中包含了該對象的各種屬性和方法,屬性表達了該元數據的某方面特征值,而方法定義了對相關元數據的各種操作[4]。元數據類在實現上分為個體類和集合類二種。個體類主要設置或讀取元數據的各個屬性值,存取或更新元數據表中的單個記錄。集合類包含了個體類對象的集合,負責對整個源數據表進行存取和更新,并維護各元數據類之間的一致性。個體類對應于元數據表中的一條記錄,集體類對應于一個元數據表。一個元數據庫中通常包含多個元數據表,分別存儲各類元數據的詳細信息。
  為了實現客戶端對元數據請求的快速響應,這里將主要的元數據都保存在服務器的內存中。當ETL系統服務器啟動時,系統就將主要的元數據從元數據庫中讀出,并常駐在內存中,直到服務器被關閉。
3  ETL流程控制與用戶可交互界面及應用
  采用JSP網頁技術來開發可視化的工作界面。JSP技術具有系統的多平臺支持、強大的可伸縮性、通過網絡發布實現遠程監控等特點。在運行過程中,JSP服務器訪問元數據庫,向客戶端展示數據源類型并列出各種數據源所采用的不同的數據抽取函數類、數據清洗類和數據裝載類,用戶根據JSP頁面向導提示,選擇合適的ETL類,逐步完成數據ETL全部過程。
  基于上述技術開發了某石油天然氣公司的決策支持系統和遠程監控數據挖掘分析系統。在其數據ETL部分,首先選擇數據源建立數據連接。JSP服務器訪問數據源,并向客戶端展示其數據結構,供用戶選擇需要抽取的數據表和數據列。當所需要的數據集抽取完后,服務器訪問元數據庫,調出當前ETL類庫中的所有數據清洗算法,每一個算法都配有相應的算法描述供用戶參考,用戶選擇適當的數據清洗算法對數據集進行轉換和清洗。清洗成功后,將最后的結果集保存到目的數據庫中。
4  結束語
  本文從實際角度出發,設計出了一個面向數據倉庫和數據挖掘的數據ETL系統,提出了一個可擴展的通用數據ETL框架,利用JSP網頁技術來設計與用戶可交互的工作流程控制界面。實踐證明:本ETL系統是可用的、有效的,在數據倉庫和數據挖掘的應用中,顯示了其一定的靈活性和高效性。今后的工作重點將放在增量式的數據抽取、高效的數據異常檢測和清洗算法的研究上,不斷地充實并完善這個數據ETL系統。
參考文獻
1   張寧.數據倉庫中ETL技術的研究.計算機工程與應用,2002;38(24)
2   周宏廣,周繼承.數據ETL工具通用框架設計.計算機應用,2003;(12)
3   廖磷,王立剛,劉文煌.構造數據倉庫系統的元數據.計算機工程與應用,2001;(16)
4   賈自艷.面向數據質量的ETL過程建模與實現.系統仿真學報,2004;(5)
5   郭志懋,周傲英.數據質量和數據清洗研究綜述.軟件學報,2002;13(11)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲欧美成人| 亚洲图色在线| 亚洲无限乱码一二三四麻| 亚洲国产视频直播| **网站欧美大片在线观看| 狠狠综合久久av一区二区小说 | 国产综合精品一区| 国产精品露脸自拍| 欧美亚男人的天堂| 欧美色另类天堂2015| 欧美精品综合| 美女成人午夜| 蜜桃久久精品乱码一区二区| 久久久亚洲精品一区二区三区| 亚洲韩国青草视频| 欧美一进一出视频| 亚洲欧美资源在线| 西瓜成人精品人成网站| 亚洲欧美日韩在线一区| 亚洲欧美日韩在线观看a三区| 亚洲国产欧美日韩| 亚洲国产精品v| 亚洲国产日日夜夜| 99www免费人成精品| 一区二区三区欧美成人| 亚洲一区二区在线播放| 亚洲一区二区三| 午夜在线电影亚洲一区| 久久精品人人做人人综合| 亚洲高清一区二区三区| 亚洲美女一区| 亚洲深夜福利在线| 午夜欧美大片免费观看| 久久精品一区二区| 欧美成人国产| 欧美日韩成人一区二区| 国产精品多人| 国产日韩欧美自拍| 在线观看一区二区视频| 亚洲精品美女91| 亚洲一级在线观看| 欧美有码在线观看视频| 亚洲人成网站色ww在线| 亚洲图片欧洲图片日韩av| 久久se精品一区精品二区| 美女在线一区二区| 欧美性猛交99久久久久99按摩| 欧美精品 日韩| 欧美性jizz18性欧美| 国产视频一区欧美| 亚洲国产日韩美| 亚洲香蕉成视频在线观看| 欧美一级欧美一级在线播放| 亚洲国产1区| 亚洲一区二区三区精品动漫| 久久精品一区二区三区不卡牛牛| 亚洲欧美在线高清| 久久久精品视频成人| 欧美激情一区| 国产九区一区在线| 亚洲欧洲中文日韩久久av乱码| 黄色另类av| 亚洲精品一区二区三区99| 亚洲天堂网站在线观看视频| 久久精品久久99精品久久| 在线视频亚洲一区| 久久久亚洲影院你懂的| 欧美日韩国产精品| 国产一区二区无遮挡| 99精品免费视频| 亚洲成色777777在线观看影院| 欧美一区二区观看视频| 日韩小视频在线观看| 久久激五月天综合精品| 欧美精品在线免费| 国产欧美一区视频| 亚洲精品在线视频| 久久国产福利国产秒拍| 亚洲午夜羞羞片| 欧美成人性生活| 国产视频精品va久久久久久| 99成人免费视频| 最近中文字幕mv在线一区二区三区四区 | 国产精品99久久久久久www| 久久免费观看视频| 国产精品成人观看视频国产奇米| 欧美日韩在线观看一区二区三区| 欧美日韩国产在线观看| 国模一区二区三区| 亚洲欧美日本精品| 亚洲视频图片小说| 欧美大片在线观看| 国内久久视频| 午夜在线电影亚洲一区| 亚洲一区3d动漫同人无遮挡| 欧美成人一区二区三区在线观看| 欧美久久久久久久久| 韩国精品在线观看| 性色av一区二区三区在线观看| 久久国产主播精品| 亚洲欧美网站| 欧美午夜www高清视频| 亚洲精品午夜| 日韩西西人体444www| 欧美大片网址| 亚洲第一二三四五区| 久久精品国产99国产精品澳门| 91久久国产综合久久| 久久成人精品无人区| 国产精品乱码人人做人人爱 | 国产自产2019最新不卡| 亚洲影院免费| 亚洲欧美日韩综合国产aⅴ| 欧美午夜精品久久久久久人妖| 国产欧美一区二区三区在线老狼| 精久久久久久| 欧美一区二区日韩一区二区| 午夜在线一区二区| 国产精品久久久久av| 中日韩高清电影网| 亚洲一区视频在线| 国产精品劲爆视频| 一区二区三区|亚洲午夜| 中文精品99久久国产香蕉| 欧美日本高清| 亚洲人成网站色ww在线| 99精品视频免费观看视频| 欧美国产精品劲爆| 亚洲精品一区在线| 亚洲天堂偷拍| 国产精品免费一区二区三区观看 | 亚洲国产精品一区二区第一页| 亚洲美女在线看| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美日韩一区二区| 欧美视频中文一区二区三区在线观看 | 一本久道久久综合中文字幕| 欧美大片一区二区三区| 亚洲精品美女在线| 亚洲一区二区三区视频| 国产精品一区二区视频 | 亚洲欧美日韩精品久久久| 欧美视频在线观看| 亚洲欧美日韩国产综合| 久久九九精品| 亚洲国产精品va| 在线亚洲欧美专区二区| 国产精品嫩草影院av蜜臀| 欧美亚洲视频一区二区| 免费成人美女女| 日韩网站在线| 性视频1819p久久| 韩日精品视频一区| 亚洲美女毛片| 国产精品毛片在线看| 欧美怡红院视频一区二区三区| 亚洲永久免费| 国产精品久久久久久av下载红粉| 亚洲人体大胆视频| 亚洲欧美一区二区精品久久久| 欧美精品一区二区在线观看| 日韩午夜三级在线| 午夜在线一区二区| 在线精品亚洲| 亚洲在线国产日韩欧美| 国产一区二区三区av电影| 亚洲人成77777在线观看网| 欧美午夜电影在线观看| 欧美在线中文字幕| 欧美另类一区| 亚洲欧美日韩精品久久奇米色影视| 亚洲视频观看| 国产伦精品一区二区三区高清版 | 亚洲国产精品视频一区| 亚洲影院在线观看| 在线不卡欧美| 亚洲一区二区成人| 国产一区在线观看视频| 99国产精品久久久久久久| 国产欧美日韩综合精品二区| 亚洲精品极品| 国产美女扒开尿口久久久| 亚洲人被黑人高潮完整版| 国产精品一区二区视频| 99视频在线观看一区三区| 国产麻豆日韩| 99国产精品久久久久老师| 国产伦精品一区二区三区四区免费| 亚洲综合色噜噜狠狠| 欧美sm重口味系列视频在线观看| 在线成人激情黄色| 亚洲欧美日韩综合| 亚洲品质自拍| 久久亚洲国产成人| 亚洲性视频网站| 欧美精品综合| 最近中文字幕日韩精品| 国产亚洲视频在线| 亚洲免费网址| 亚洲精品欧美专区|