《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于開源代碼的ETL工具的實現
基于開源代碼的ETL工具的實現
2016年微型機與應用第24期
汪洋,韓寧
中國軟件與技術服務股份有限公司,北京 100081
摘要: 在企業數據愈加龐大的今天,大批量數據交換也越加頻繁,ETL是數據處理的主要技術手段,但極少有ETL工具能夠兼顧自動調度及跨網段交換。在開源ETL工具Kettle的基礎上,設計實現能夠定制觸發規則、根據調度周期自主運行交換作業的數據交換工具GoData,該工具支持跨節點跨網段的數據交換作業,同時具有節點監控及錯誤作業預警和消息推送功能,支持集群和分布式部署。該工具極大地滿足了企業對數據交換業務的需求,在企業合理和充分利用現有數據資源方面發揮作用。
Abstract:
Key words :

  汪洋,韓寧

  (中國軟件與技術服務股份有限公司,北京 100081)

       摘要:在企業數據愈加龐大的今天,大批量數據交換也越加頻繁,ETL是數據處理的主要技術手段,但極少有ETL工具能夠兼顧自動調度及跨網段交換。在開源ETL工具Kettle的基礎上,設計實現能夠定制觸發規則、根據調度周期自主運行交換作業的數據交換工具GoData,該工具支持跨節點跨網段的數據交換作業,同時具有節點監控及錯誤作業預警和消息推送功能,支持集群和分布式部署。該工具極大地滿足了企業對數據交換業務的需求,在企業合理和充分利用現有數據資源方面發揮作用。

  關鍵詞:ETL;Kettle;GoData;跨網段數據交換;自動觸發

  中圖分類號:TN919文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2016.24.006

  引用格式:汪洋,韓寧. 基于開源代碼的ETL工具的實現[J].微型機與應用,2016,35(24):19-21.

0引言

  隨著互聯網技術的快速發展,企業內業務應用數量猛增,業務數據更是與日俱增,越來越多的企業在面對眾多業務系統產生的日益龐大的業務數據時,顯得束手無策,疲于應對。其原因大多在于企業內部信息化建設并沒有形成統一的標準,各廠商、各系統、各層級間數據形態各異,無法實現互聯互通數據共享,從而形成“信息孤島”。而信息是現代企業的重要資源,是企業科學管理、決策分析的基礎。因此,打破“信息孤島”,實現數據高效集成和共享是企業數字信息化建設的關鍵問題。企業需要通過各種技術手段,把數據轉換為信息、知識,最大程度地發揮數據的作用,而ETL便是主要的技術手段。

  當前企業信息建設普遍存在以下問題:

  (1)數據源眾多

  企業內層級部門眾多,業務種類多樣,數據來源更為廣泛。

  (2)數據差異性大

  數據源眾多的前提下,企業沒有統一的數據標準造成業務數據差異性大,在擁有結構化數據的同時可能還存在大量半結構以及無結構數據。

  (3)業務數據增長迅猛,數據利用率低下

  據統計,大多數企業數據量每2~3年時間就會成倍增長,業務數據增長迅猛,而企業所關注的數據通常只占總數據量的2%~4%左右,并沒有充分利用已存在的數據資源。

  因此,設計和實現一個穩定、高效、符合企業形態、可以靈活部署的ETL工具勢在必行。其在使企業實現信息和數據共享的同時,還能夠幫助企業最大化地利用已存在的數據資源,完善企業數字化、信息化建設。

1Kettle介紹

  ETL(Extraction, Tansformation, Loading)即是將數據從來源端經過抽取和轉換后加載到目的端的過程。在ETL過程中,數據抽取即是從數據源中抽取數據的過程,也可從多個數據源中進行數據抽取;數據轉換即是對抽取數據進行清洗,通過清洗策略和合并、轉換以及數學運算等操作,去除數據中存在的錯誤和冗余,也可根據要求變換數據格式,保證數據質量;數據裝載即是將轉換好的數據保存到數據庫或文件中。目前,越來越多的廠商致力于ETL工具的研發,而較常用的開源工具有Kettle、 Talend、 Octopus等,其中以開源Java工具Kettle應用最廣,表現最為突出。

001.jpg

  Kettle是一款用Java編寫的開源ETL工具,其主要由轉換(Transformation)和作業(Job)兩部分組成。其中“轉換”是由一系列步驟組成的,每一個步驟表示對一個或多個數據流進行特定的轉換操作。而“作業”基于工作流模型,協調數據源、執行過程和相關依賴性的ETL活動,其將功能性和實體過程聚合起來,完成對整個工作流的控制。Kettle的概念模型如圖1所示[1]。圖1Kettle概念模型圖2GoData架構圖Kettle優點很多:具有可視化的流程設計工具,具備眾多數據處理控件,擁有良好的插件擴展功能,支持集群操作等。可以說Kettle是當前ETL開源世界中功能最全面的一款工具[2]。但是每個產品都有其自身的局限性,Kettle也不能例外,比如缺少多頻度自動觸發調度機制,不能實現跨網段數據交換功能等。而這恰巧是多數企事業單位對數據交換業務的共性需求。

2GoData設計與實現

  2.1設計初衷

  GoData的設計初衷即是打造一款符合大多數企事業單位數據交換需求的ETL工具,其在Kettle的基礎上,取長補短,調整作業運行機制,完善作業調度機制,加入作業觸發機制,并在保證數據正確安全的基礎上,實現跨網段的數據交換,加入作業監控,實現錯誤告警,整理日志記錄機制,完善作業調度及授權等功能。

  2.2設計實現

002.jpg

  GoData產品架構圖如圖2所示,最底層為數據來源層,GoData可適配的數據來源眾多,包括結構化數據、半結構化數據以及非機構化數據;協議適配層是GoData的網絡適配協議,既包括RDBMS、HTTP等,也能對WebService、FTP等進行適配;功能組件層包含了管理組件、監控組件、安全組件、輔助組件以及核心組件;展示層則包含了產品對外的展示形式,包括圖形、文本和表格等。

  圖3展示的是GoData的核心模塊,主要包含:作業設計器、作業調度器、作業監控器三個模塊。其中觸發機制在流程設計時進行定制,然后在作業運行態時由調度器根據該作業的觸發機制完成調度。各模塊之間通過共享數據庫進行通信。

003.jpg

  GoData作業編輯器可以配置觸發器的觸發規則、作業的處理流程、節點配置、路由配置和集群配置等,同時可以對配置完成的作業進行調試。控制臺執行器負責在后臺調度執行所有的作業,并且根據作業來配置調用節點、路由和集群功能。節點管理模塊負責配置管理多節點的數據信息。路由管理模塊負責配置管理多節點路由信息。集群調度器負責在集群間進行數據分發和同步。接收適配器和發送適配器負責在多節點之間接收和發送業務數據。

  GoData在Kettle的基礎上加入了傳輸模塊,該模塊依托于作業編輯器對傳輸節點及路由的配置信息,將所交換數據正確安全地傳輸到目標節點。節點通信使用Netty作為底層支撐,使用“客戶端/服務器”模式進行節點之間通信。通信的每個數據包會根據節點路由表的配置選擇正確的鏈路,并且具有斷點續傳功能。發送數據的一方為數據源節點,接收數據的一方稱為目標節點,傳輸過程經過的節點為路由節點。三種節點的角色在傳輸過程中可能會互換(例如,當下一個路由節點為目標節點的時候,路由節點和目標節點是同等的)。當源節點是路由節點的時候源節點和路由節點是等同的。數據包從源節點出發,到達第一個路由節點后,此路由節點從配置中讀取它的下一個路由節點的配置信息,如果此節點就是目標節點,則不需要再傳遞數據包,如果還有下一個路由節點,那么使用客戶端服務器模式連接路由節點,然后將這次路由信息保存到數據包中,最后發送數據包到下一個路由節點。這樣重復以上所述步驟,最終到達目標節點。在傳輸過程中用戶可以選擇是否對傳輸信息進行二次加密,GoData在Kettle加密的基礎上,使用DES加密協議,對每個數據包的數據區又進行二次加密,為了保證傳輸的數據量不變和傳輸過程中數據包協議的合理性,加密后數據包的大小保持不變。為了安全性的考慮,密鑰不會包含在數據包中,而是使用雙方協商的加密方式,在部署配置的時候設定密碼。

  此外,GoData具有Web監控及管理功能,業務人員能夠遠程對數據交換的各節點狀態進行監控并對節點上運行的交換作業進行管理。因此,GoData系統分成兩種主要節點,業務數據交換節點和Web監控管理節點。業務數據交換節點主要負責業務數據的讀取、傳輸、轉換和裝載。系統的Web監控管理節點則負責監控所有交換節點的運行情況和遠程控制交換作業的啟停,并能在發生異常時進行告警消息推送。

  在企業中,可以根據企業網絡形態及具體業務需求部署多個GoData來完成數據交換任務,每一個GoData被認為是一個節點,在企業內網中,GoData根據配置的交換作業自主運行,并把日志信息同步到Web監控節點,相關人員可以登錄Web監控節點對各節點運行情況進行監控。

  2.3技術特點

  GoData在保留Kettle原有優點的基礎上,通過變更調度機制,加入觸發、監控等機制后,具有了更多的優勢。

  (1)定制化調度機制

  企業可以根據自身數據交換業務的需求,定制數據交換作業觸發機制,支持單次運行和多次重復運行兩種調度機制,設置完成后,由GoData根據觸發規則自主調度作業運行,收集作業日志信息,提交作業運行數據。

  (2)安全高效的傳輸機制

  在文件傳輸時,將文件劃分為多個數據包,支持傳輸加密和斷點續傳。不但實現了跨網段的數據交換作業,而且能有效節省傳輸時間,保證數據安全。解決了實際業務中數據跨層級交換的難題,簡化數據交換流程和步驟,提高了數據交換效率,保證了交換數據的質量。

  (3)運行監控

  加入了監控組件,可以對各數據交換節點進行遠程監控,啟停數據交換作業,并在作業異常時發出錯誤預警,推送預警信息到微信端,增強數據交換響應機制。

  (4)分布式架構

  GoData支持分布式部署,多個GoData之間可以相互通信,同時GoData支持集群,一個作業可以使用集群方式來執行和運算。因此企業可以根據具體數據業務調配GoData的使用,并且根據數據量來選擇是否使用集群。這種可伸縮的分布式架構可實現批量作業在多臺機器、多個節點上同時進行,能夠極大地提升數據交換作業的處理效率。

  (5)先進的容錯機制

  經過多番測試及完善,在意外斷網或斷電情況發生時,GoData能夠在異常發生后快速恢復作業,提高了數據交換的健壯性。

  (6)大吞吐量,運行穩定

  目前,GoData已經在多個項目中得到運用,每小時吞吐量超過1 000萬條數據,運行穩定。

3結論

  GoData在開源軟件Kettle的基礎上加入了觸發機制,完善調度機制,增加了跨網交換傳輸、遠程監控管理以及容錯機制等,能夠很好地為企業數據信息建設服務,滿足企業進行大批量高頻次數據交換的需求,使企業能夠更深入地利用數據資源,實現數據的價值最大化,幫助企業制訂計劃,運營決策。

參考文獻

  [1] 劉充.基于KETTLE的高校多源異構數據集成研究及實踐[J].電子設計工程,2015,23(10):24 26.

  [2] 閆小爽,李忠華,李璐,等.開源ETL軟件在智能化集成系統中的應用[J].工程應用,2009(4):46 48.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美色大人视频| 国产在线视频欧美| 久久精品国产96久久久香蕉| 亚洲午夜精品久久久久久app| 亚洲欧洲一区二区天堂久久| 久久岛国电影| 午夜视频一区在线观看| 亚洲欧美日韩国产成人| 亚洲少妇诱惑| 在线综合亚洲欧美在线视频| 99精品欧美一区二区三区综合在线| 亚洲国产精品久久久久久女王| 狠狠久久五月精品中文字幕| 国内外成人免费激情在线视频| 国产亚洲精品激情久久| 国产欧美日韩在线视频| 国产欧美一区二区三区沐欲| 国产美女扒开尿口久久久| 国产美女精品一区二区三区| 国产欧美一区二区精品忘忧草| 国产欧美视频一区二区三区| 国产香蕉97碰碰久久人人| 国产性猛交xxxx免费看久久| 国内成+人亚洲| 伊人久久大香线蕉综合热线| 亚洲成人原创| 亚洲精品一区二区三区樱花| 日韩一区二区福利| 亚洲午夜在线观看视频在线| 午夜精品久久久99热福利| 久久国产黑丝| 亚洲大胆女人| 亚洲免费观看视频| 亚洲午夜视频在线观看| 欧美一区成人| 老牛国产精品一区的观看方式| 老司机一区二区| 欧美日韩精品欧美日韩精品| 国产精品久久久久一区二区三区| 国产日韩欧美精品一区| 激情五月***国产精品| 亚洲欧洲日产国码二区| 9l视频自拍蝌蚪9l视频成人| 亚洲欧美在线x视频| 亚洲第一页在线| 亚洲最新在线| 亚洲欧美日韩国产一区| 久久精品青青大伊人av| 欧美成人午夜激情| 国产精品成人一区二区三区夜夜夜| 国产麻豆91精品| 亚洲黄网站黄| 亚洲欧美日韩国产成人精品影院| 亚洲电影免费观看高清完整版| 亚洲免费观看高清在线观看| 欧美一区二区三区成人| 欧美 日韩 国产一区二区在线视频 | 中文亚洲字幕| 欧美在线一二三四区| 欧美成人午夜| 国产毛片精品国产一区二区三区| 亚洲国产成人91精品| 亚洲影视综合| 亚洲精品视频在线观看免费| 午夜精品在线看| 欧美大片在线观看| 国产欧美日韩一区二区三区在线观看| 亚洲国产精品久久精品怡红院| 亚洲在线一区二区三区| 亚洲精品麻豆| 久久精品免费看| 欧美色欧美亚洲另类七区| 精品1区2区3区4区| 亚洲一区二区不卡免费| 亚洲三级影片| 久久久久综合网| 国产精品高潮在线| 亚洲第一久久影院| 欧美一区二区三区在线观看视频| 一区二区三区日韩在线观看| 麻豆av福利av久久av| 国产精品美女一区二区在线观看 | 亚洲精选视频免费看| 欧美在线999| 欧美深夜影院| 在线欧美亚洲| 欧美中文字幕在线播放| 亚洲在线播放| 欧美日韩精品| 亚洲国产精品va在线看黑人| 欧美一区二区三区的| 亚洲一区三区视频在线观看| 欧美高清视频在线播放| 国内精品久久久久久久果冻传媒| 在线一区二区三区四区五区| avtt综合网| 欧美国产精品人人做人人爱| 好看不卡的中文字幕| 午夜精品视频在线观看| 亚洲在线黄色| 欧美三区在线视频| 日韩一区二区精品葵司在线| 亚洲免费观看在线观看| 欧美fxxxxxx另类| 在线观看国产精品网站| 欧美亚洲免费高清在线观看| 亚洲午夜电影网| 欧美日韩国产一区二区三区| 亚洲黄网站在线观看| 亚洲级视频在线观看免费1级| 久久蜜桃资源一区二区老牛| 国产日韩欧美亚洲| 性欧美暴力猛交另类hd| 欧美在线不卡视频| 国产视频亚洲精品| 欧美一区二区三区在| 久久国产精品99国产精| 国产人久久人人人人爽| 午夜综合激情| 欧美在线www| 香蕉成人久久| 蜜桃伊人久久| 亚洲电影天堂av| 亚洲欧洲偷拍精品| 欧美成人综合| 91久久久一线二线三线品牌| 亚洲精品黄网在线观看| 欧美精品1区| 亚洲日韩欧美视频一区| 999亚洲国产精| 欧美日韩一区在线观看视频| 日韩一级在线观看| 亚洲欧美日本国产有色| 国产欧美婷婷中文| 久久精品国产v日韩v亚洲| 老司机精品导航| 亚洲国产精品尤物yw在线观看| 亚洲精品免费在线观看| 欧美日本在线播放| 亚洲少妇诱惑| 欧美主播一区二区三区| 国产一区二区三区日韩欧美| 国产在线精品一区二区夜色| 亚洲欧洲日本专区| 免费日韩成人| 亚洲人成网站色ww在线| 一区二区不卡在线视频 午夜欧美不卡在 | 一卡二卡3卡四卡高清精品视频| 亚洲欧美日韩国产一区| 国产日产高清欧美一区二区三区| 性刺激综合网| 欧美gay视频激情| 一区二区欧美在线| 久久成年人视频| 亚洲福利视频一区二区| 亚洲图片在线| 国产一区二区精品久久91| 91久久久精品| 国产精品h在线观看| 欧美一区二区在线播放| 欧美成人一区在线| 一区二区三区精品国产| 久久久国产午夜精品| 亚洲国产精品久久久久秋霞影院| 亚洲一区二区日本| 韩国一区二区三区在线观看| 日韩一二三在线视频播| 国产精品欧美风情| 亚洲国内高清视频| 国产精品福利在线| 亚洲国产天堂网精品网站| 欧美日韩中文在线| 欧美一区亚洲一区| 欧美日韩不卡合集视频| 亚久久调教视频| 欧美日韩人人澡狠狠躁视频| 篠田优中文在线播放第一区| 欧美另类变人与禽xxxxx| 午夜精品短视频| 欧美激情综合| 欧美一区免费| 欧美午夜一区二区| 亚洲国产天堂久久综合| 国产精品久久毛片a| 亚洲黄色三级| 国产精品永久免费在线| 一区二区久久久久久| 一区在线视频| 欧美一区二区视频在线观看| 亚洲精品你懂的| 久久免费一区| 亚洲一区影院| 欧美理论片在线观看| 亚洲第一伊人| 亚洲经典自拍| 亚洲午夜免费福利视频| 久久人人97超碰精品888| 一区二区三区偷拍| 欧美黄色一级视频| 亚洲国产高清在线观看视频|