《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 面向數據倉庫和數據挖掘的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亚洲国产精品_日韩亚洲一区二区
亚洲理伦在线| 久久国产视频网站| 国产一区二区日韩精品| 欧美三级午夜理伦三级中文幕 | 欧美亚洲在线观看| 午夜精品久久久| 亚洲欧美影院| 午夜欧美不卡精品aaaaa| 亚洲性视频网站| 亚洲视频1区2区| 亚洲新中文字幕| 亚洲欧美区自拍先锋| 亚洲欧美激情四射在线日 | 亚洲毛片在线| 99精品久久| 这里只有精品丝袜| 制服丝袜亚洲播放| 亚洲午夜电影| 午夜在线观看欧美| 久久精品五月| 另类天堂av| 欧美激情综合五月色丁香| 欧美激情精品久久久久久大尺度| 欧美国产综合一区二区| 欧美日韩精品免费观看| 国产精品啊啊啊| 国产欧美不卡| 伊人久久综合| 亚洲精品免费电影| av成人动漫| 午夜精品视频在线观看| 久久激情一区| 日韩视频一区| 亚洲欧美日韩在线播放| 久久久99爱| 欧美国产日韩一区二区| 国产精品av久久久久久麻豆网| 国产精品美女999| 国内成+人亚洲+欧美+综合在线| 曰韩精品一区二区| 99国产精品久久久| 香蕉成人久久| 亚洲黄色影院| 亚洲一区二区三区成人在线视频精品| 性色av香蕉一区二区| 久久综合电影| 欧美日韩中文在线观看| 国产免费亚洲高清| 亚洲国产专区校园欧美| 亚洲在线免费| 亚洲精品久久| 午夜亚洲性色视频| 欧美成人一品| 国产精品视频免费观看| 在线欧美视频| 亚洲专区免费| 亚洲精品午夜| 欧美有码视频| 欧美精品综合| 国产日韩欧美精品| 亚洲激情二区| 欧美在线|欧美| 亚洲视频 欧洲视频| 久久久91精品国产| 欧美视频精品一区| 在线免费高清一区二区三区| 中日韩高清电影网| 亚洲全部视频| 久久精品国产一区二区三| 欧美精品自拍| 激情欧美一区| 国产精品99久久久久久久女警 | 欧美日韩国内自拍| 国产日韩亚洲欧美综合| 亚洲精品影视在线观看| 久久精品青青大伊人av| 亚洲欧美日韩中文在线制服| 欧美成人高清| 国产一区二区av| 亚洲午夜久久久| 亚洲精品久久7777| 久久精品国产欧美激情| 欧美私人网站| 亚洲欧洲综合另类| 久久精品99国产精品日本| 午夜精品短视频| 欧美日本免费| 亚洲丰满在线| 亚洲高清精品中出| 久久精品国产69国产精品亚洲| 欧美日本亚洲韩国国产| 1024日韩| 久久精品成人| 久久久av水蜜桃| 国产精品五月天| 一本久久a久久免费精品不卡| 亚洲电影下载| 久久精品人人做人人综合| 国产精品视频观看| 亚洲午夜成aⅴ人片| 一区二区三区免费看| 欧美高清hd18日本| 亚洲第一在线视频| 亚洲国产精品久久人人爱蜜臀| 久久精品盗摄| 国产视频亚洲精品| 午夜欧美电影在线观看| 亚洲欧美日韩国产综合精品二区| 欧美日韩视频不卡| 亚洲毛片av在线| 日韩一区二区精品| 欧美国产精品专区| 亚洲电影观看| 亚洲精品一区二区三| 欧美成人一区二区三区片免费| 韩国一区二区三区美女美女秀| 欧美亚洲在线视频| 久久精品中文字幕一区| 国产午夜久久| 久久精品国产久精国产一老狼| 久久久久久69| 国内外成人在线| 亚洲国产精品电影| 久久在线免费视频| 曰本成人黄色| 亚洲精品专区| 欧美日韩亚洲一区三区| 一区二区av在线| 亚洲综合视频网| 国产精品一二三四区| 亚洲午夜精品一区二区三区他趣| 先锋亚洲精品| 国外成人性视频| 亚洲欧洲精品一区二区三区| 欧美11—12娇小xxxx| 亚洲精品麻豆| 亚洲在线免费| 国产午夜精品在线| 亚洲国产影院| 欧美日韩视频在线一区二区| 中文精品视频| 欧美专区在线| 在线看无码的免费网站| 99热在这里有精品免费| 欧美视频在线播放| 午夜精品久久久久久99热软件| 久久久久久久综合| 91久久精品www人人做人人爽| 亚洲网站在线看| 国产日韩欧美中文| 91久久精品日日躁夜夜躁国产| 欧美久久婷婷综合色| 亚洲天堂av综合网| 久久久久88色偷偷免费| 亚洲国产精品尤物yw在线观看 | 亚洲一二三级电影| 久久久久久9| 亚洲日本精品国产第一区| 亚洲男女自偷自拍| 韩日欧美一区| 一区二区三区回区在观看免费视频| 国产精品国产成人国产三级| 欧美一区二区高清| 欧美另类综合| 先锋影音久久久| 欧美国产日本韩| 午夜视频精品| 欧美日韩成人一区二区| 性欧美大战久久久久久久免费观看 | 欧美另类综合| 欧美一级在线亚洲天堂| 欧美激情一区二区久久久| 亚洲免费中文| 欧美激情综合在线| 午夜亚洲性色福利视频| 欧美片第一页| 久久成人免费网| 欧美午夜大胆人体| 亚洲电影免费| 国产精品一香蕉国产线看观看| 亚洲毛片一区| 国产有码在线一区二区视频| 正在播放欧美视频| 一色屋精品视频在线看| 午夜视频在线观看一区二区| 亚洲福利视频在线| 久久av一区二区三区亚洲| 亚洲欧洲精品天堂一级| 久久精品一区二区三区不卡牛牛| 日韩一级网站| 欧美xxxx在线观看| 欧美亚洲自偷自偷| 国产精品v片在线观看不卡| 亚洲精品日韩激情在线电影| 国产日韩欧美中文在线播放| 亚洲视频在线观看三级| 亚洲国产高潮在线观看| 久久精品视频在线观看| 亚洲一区二区视频在线观看| 欧美激情在线有限公司|