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

基于Kettle的Web數據集成平臺設計與實現

2024-02-15 00:00:00趙吉王澤豪
無線互聯科技 2024年24期
關鍵詞:二次開發

摘要:在信息化背景下,數據集成可以有效減少數據冗余,提高數據利用率,實現數據的互聯共通。文章基于開源Kettle工具,采用Quartz設計并實現了一套B/S模式下具有用戶管理、數據集成轉換、圖形化“拖拉拽”的在線數據集成平臺。該平臺實現了對ETL作業的統籌調度、監督和控制,從而提高應用程序開發的效率,有效降低開發和運維成本。

關鍵詞:數據集成平臺;數據抽取清洗載入;二次開發;Kettle;Quartz

中圖分類號:TP311" 文獻標志碼:A

0 引言

大數據時代下,數據信息和錯綜復雜的數據邏輯爆炸式增長,數據將成為未來發展的新能源與動力[1。但在實際應用中,各系統之間因數據格式和訪問方法不同無法傳輸共享數據從而導致“數據孤島”的難題。同時,許多數據抽取清洗載入(Extract Transform Load, ETL)軟件大多為傳統型軟件,對客戶端計算機軟硬件配置要求較高,需要下載、安裝和升級,開發維護成本高。因此,提供一個便捷高效的在線數據集成平臺成為迫在眉睫的需求[2。基于此,本文設計并實現了一套基于開源Kettle和Quartz的在線Web數據集成平臺。

1 系統分析

1.1 系統可行性分析

1.1.1 經濟可行性

本平臺開發使用開源組件與框架,采用Tomcat一鍵部署,開發和部署經濟成本低;同時,使用前后端分離程序結構,維護成本低。

1.1.2 技術可行性

本平臺采用Kettle7.0作為ETL功能引擎、Spring Framework 3.2.9作為Web框架。Kettle是一款開源的ETL工具,對外提供許多應用程序編程接口(Application Programming Interface, API),適合二次開發擴展[3-4。Spring Framework解決了Java代碼和Servlet之間的耦合,優化了controller層[5-6。作為本數據集成平臺的表示層框架,Spring部署靈活、功能強大,為Web層開發提供了更加方便快速的支持,能夠滿足系統開發需要。

1.1.3 應用可行性

平臺設計目的是提高數據利用效率,解決“數據孤島”的問題以及緩解傳統ETL工具多為C/S架構的困局,B/S架構對客戶端計算機硬件配置要求較低且沒有操作系統限制,具有廣泛的應用實踐價值。

1.2 系統功能分析

平臺的總體目標是實現一款基于Web的數據集成平臺,即設計一個基于B/S的ETL數據集成工具。主要實現以下幾個功能:①實現不同關系型數據庫、文件之間的數據集中、清洗、轉換和傳輸。②實現在Web端通過“拖拉拽”方式實現對數據流程的配置與傳輸功能的控制。③實現對ETL任務進行綜合性管理與監控。④實現對任務的定時調度。

2 系統設計

2.1 平臺架構設計

本文提出的Web數據集成平臺具備能在多種數據源、各種不同數據庫或文件中抽取數據并進行轉換、加載的功能。Web數據集成平臺系統設計使用ExtJS、MXGraph、Spring MVC、Mybatis框架搭建B/S結構,重塑原生Kettle的架構結構,進行二次開發。Web平臺界面采用ExtJS、MXGraph搭建圖形化界面,擁有C/S結構的強交互性與轉換各流程中數據連線和拖拽功能,同時采用Quartz和Spring作為任務調度方式,將元數據模式的ETL任務存放于系統資源庫中,讀取資源庫ETL元數據,解析后將ETL任務通過MXGraph展現,實現了基于B/S架構開發ETL任務的功能。本平臺通過Quartz定時框架可以對ETL任務進行管理及監控,對平臺中運行的作業進行檢測,實時監測任務執行進度。

數據集成平臺總體框架使用3層架構,分別為Web前端展示層、Web后端處理層與底層基于Kettle內核的執行層,使用Quartz替換原生Kettle的調度監控模塊,總體設計架構如圖1所示。

2.2 平臺模塊設計

平臺按功能劃分為7個主要模塊:模型管理模塊、平臺管理模塊、任務管理模塊、定時調度模塊、日志管理模塊、節點管理模塊以及用戶管理模塊,如圖2所示。

3 系統實現

3.1 前端頁面實現

3.1.1 頁面組件拖拽功能實現

本平臺的重要功能是將Web框架Spring與MXGraph引擎進行整合實現拖拽功能,極大地方便用戶進行數據轉換和作業配置,完成數據操作。頁面組件拖拽功能主要使用MXGraph框架核心類實現。核心類中createGraph方法用于生成MXGraph對象,通過MXGraph對象的insertEdge方法和insertVertex方法在轉換模塊背景區插入頂點和邊框,同時使用setConnectable設置連線。實現拖拽功能重點是新建初始化Toolbar方法,遍歷獲取所有的dom組件項對象,將dom對應的組件項對象的寬高與JavaScript結合作為容器展現圖形。平臺調用makeDraggable方法,配置給定的dom元素充當指定圖形的拖動源,隨后給dom節點元素返回一個新的充當指定圖形的mxDragSource。判斷組件拖拽先使用動作監聽器監聽鼠標按下動作和鼠標所點擊的圖形坐標,然后監聽鼠標按下的移動,啟動startDrag函數。如果鼠標被監聽為彈起,所選目標將被放置在鼠標下,最后啟動stopDrag函數結束拖動,實現頁面組件的拖拽功能。

3.1.2 任務模塊

任務模塊主要包含轉換管理、作業管理、任務組管理和任務監控等功能,是集成平臺的核心功能模塊。轉換管理模塊可以使用拖拽方式對轉換邏輯進行設計,同時還提供保存轉換、運行轉換、預覽轉換、調試轉換、校驗轉換等功能按鍵。用戶雙擊圖形化組件,可以對組件進行配置;數據源數據表輸入組件配置頁面擁有編輯、新建、向導等功能;作業管理頁面具有作業屬性查看、編輯和作業定時等功能。

3.1.3 用戶模塊

用戶模塊用于平臺用戶管理,管理員用戶登錄平臺時會提供添加用戶的功能按鈕,可選擇創建管理員或普通用戶。

3.1.4 平臺模塊

在平臺模塊中,儀表板組件顯示了運行中的作業數、運行中的轉換數、節點數量和定時作業的數量,用戶可以隨時查看平臺操作中的作業。

3.1.5 模型模塊

模型模塊中轉換管理配置數據源和目標后,用戶可以執行其他配置,如轉儲任務的名稱等。相關配置完成后,系統會顯示當前配置的信息;用戶確認配置后可以保存當前配置。平臺檢查配置有效性,主要是測試輸入的信息是否標準,保存配置前是否填寫了所需的項。有效性測試成功后,系統提示任務保存成功,任務創建結束,反之則提示錯誤,返回前一配置界面進行修改。模型模塊可以對作業和轉換進行新建操作。

3.2 后端處理層實現

后端處理層接收前端展示層的請求進行處理后,發放到執行層執行,起到承上啟下的作用,也是3層架構中的核心部分。任務管理模塊主要功能是負責任務的管理和作業的運行,對轉換的過程進行調度。本平臺轉換模塊采取低耦合、高擴展性的組件化開發。以CSV輸入模塊為例,如圖3所示,CsvInput類繼承AbstractStep并重寫AbstractStep類的decode和encode方法;在encode方法中使用encode.setAttribute對Kettle中相應的CsvInputMeta進行參數設置,在decode方法中通過mxCell cell.getAttribute(String)進行配置,實現模塊化開發。

3.3 執行層實現

Kettle的作業運行分為圖形化運行和命令行運行。本平臺采用Kettle內核作為ETL操作引擎,同時修改了Kettle的調度機制,由Quartz管理調度信息。將調度系統與Kettle分開,利用了Quartz調度框架[7強大的可用性和可伸縮性,實現對任務的定時調度。Quartz定時作業使用與carte服務器交互的方式或調用Kettle API方式執行定時作業。

4 系統測試

4.1 平臺環境

在線數據集成平臺在Windows環境下開發,使用B/S架構,運行在服務器端,支持不同的運行環境。本平臺上線運行可部署在Windows或Linux環境下,用戶登錄后可進行各項數據轉換操作并查看平臺各項操作情況,運行效果如圖4所示。

4.2 平臺轉換模塊測試

利用本平臺對航空大數據集進行數據預處理作業,通過JDBC連接MySQL數據庫測試成功,如圖5(a)所示。用戶可以在平臺轉換頁面拖拉組件建立ETL數據處理流程對數據集進行去重操作,數據從Excel輸入經過過濾記錄組件、去除重復記錄組件再輸出到數據庫表中,如圖5(b)所示。通過使用航空公司數據集對轉換模塊進行測試,平臺實際結果與預期結果一致,驗證數據操作與轉換模塊ETL功能正常工作。

5 結語

本文設計并實現了Web數據集成平臺底層引擎調用ETL工具Kettle的API,能在多種關系型數據庫、非關系型數據庫中進行數據集成操作,解決數據轉換傳輸問題,提高應用程序開發的效率。數據集成平臺使用B/S架構代替了傳統軟件的C/S架構,利用B/S架構高度自由化的特性,解決了傳統ETL工具需要下載安裝、占用用戶時間與空間的問題。下一步研究工作是繼續優化本平臺數據轉換的配置、支持傳輸的數據庫和數據類型,完善數據集成平臺的完整性以及可使用性。

參考文獻

[1]顧勝勤.“數據化”將成為民航企業未來發展的強大動力[J].空運商務,2017(7):14-16.

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

[3]趙建勛.基于Kettle的數據整合研究與實踐[J].西安文理學院學報(自然科學版),2020(3):28-31,36.

[4]武晉飛.基于Kettle的鐵路客運營銷數據交換平臺的設計與實現[J].鐵路計算機應用,2019(11):27-31.

[5]張浩.SSM框架在Web應用開發中的設計與實現研究[J].電腦知識與技術,2023(8):52-54.

[6]張傳國,王伶俐.基于MEAN+SpringMVC的服務管理平臺的設計與實現[J].計算機科學,2017(增刊2):538-541.

[7]崔記東.基于Kettle和Quartz的數據集成平臺的研究與實現[D].鄭州:鄭州大學,2019.

(編輯 王永超編輯)

Design and implementation of a Web data integration platform based on Kettle

ZHAO" Ji1, 2, WANG" Zehao1

(1.Wuxi City College of Vocational Technology, Wuxi 214000, China; 2. Big Data Intelligent Application

Engineering Technology Research and Development Center, Wuxi 214000, China)

Abstract: Under the background of informatization and Internet, data integration can effectively reduce data redundancy, improve data utilization, and achieve data interconnection. Based on open-source Kettle using Quartz, an online data integration platform in B/S mode with user management, data integration transformation, and graphical drag and drop is designed and implemented in this article. This platform realizes the overall scheduling, supervision, and control of ETL jobs, thus greatly improving the efficiency of application development and effectively reducing development and operation costs.

Key words: data integration platform; extract-transform-load; secondary development; Kettle; Quartz

猜你喜歡
二次開發
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級編程的旋轉坐標系二次開發
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構件庫二次開發
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對倒棱機床界面二次開發
基于全站儀二次開發的覆冰厚度測量與實現
電測與儀表(2016年9期)2016-04-12 00:29:52
Micaps3.2 版本二次開發入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開發在變壓器抗短路性能分析中的應用
基于CATIA的橡皮囊成形毛料展開的二次開發
機械工程師(2015年9期)2015-02-26 08:38:10
ANSYS Workbench二次開發在汽車穩定桿CAE分析中的應用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 午夜色综合| 国产成人精品一区二区三在线观看| 欧美一级夜夜爽www| 成人国产精品视频频| 精品无码专区亚洲| 亚洲水蜜桃久久综合网站 | 亚洲中文字幕日产无码2021| 波多野结衣一级毛片| 亚洲中文字幕国产av| 成人精品亚洲| 波多野结衣第一页| 亚洲精品日产AⅤ| 久久国产亚洲偷自| 在线毛片网站| 亚洲精品爱草草视频在线| 欧美在线一二区| 久久综合九色综合97网| 亚洲无码37.| 成年人视频一区二区| 国产第二十一页| 五月天福利视频| 日韩无码精品人妻| 亚洲va在线∨a天堂va欧美va| 欧美精品不卡| 又污又黄又无遮挡网站| V一区无码内射国产| 狠狠亚洲婷婷综合色香| 精品自拍视频在线观看| 日本欧美在线观看| 免费观看国产小粉嫩喷水 | 最新国语自产精品视频在| 亚洲成人动漫在线| 九九热在线视频| 亚洲乱码精品久久久久..| 亚洲第一成年免费网站| 中文字幕久久亚洲一区| 综合久久五月天| 久久男人视频| 国产97视频在线观看| 蜜臀AVWWW国产天堂| 波多野衣结在线精品二区| 国产一区二区人大臿蕉香蕉| 中文字幕亚洲第一| 亚洲国产看片基地久久1024| 欧美第一页在线| 亚洲欧美综合在线观看| 国产精品成人久久| 日韩中文字幕免费在线观看| 91久久偷偷做嫩草影院电| 国产香蕉国产精品偷在线观看| 亚洲综合专区| 亚欧乱色视频网站大全| 不卡无码网| 亚洲欧美一区二区三区蜜芽| 岛国精品一区免费视频在线观看| 91区国产福利在线观看午夜| 99伊人精品| 3344在线观看无码| 欧美黄网在线| 九九这里只有精品视频| 精品亚洲国产成人AV| 国内丰满少妇猛烈精品播| 一本大道香蕉中文日本不卡高清二区| 色老二精品视频在线观看| 亚洲免费毛片| 婷婷激情亚洲| 久久久久久国产精品mv| 国产欧美日韩在线在线不卡视频| 综合色婷婷| 无码人妻免费| 在线观看亚洲天堂| 91成人免费观看| 亚洲无码A视频在线| 九九九国产| 欧美第二区| 久久精品人人做人人综合试看| 久热中文字幕在线| 亚洲综合色婷婷中文字幕| 天天婬欲婬香婬色婬视频播放| 日本爱爱精品一区二区| 中国国语毛片免费观看视频| 中文字幕无线码一区|