江接寶 余衛(wèi)紅
摘要:數(shù)據(jù)中心匯聚企業(yè)生產(chǎn)活動(dòng)的各類數(shù)據(jù),是企業(yè)生產(chǎn)過程管理和決策的依據(jù);文章針對(duì)數(shù)據(jù)中心建立的系統(tǒng)架構(gòu)圖,采用開源的Kettle工具實(shí)現(xiàn)數(shù)據(jù)匯聚和ECharts工具實(shí)現(xiàn)數(shù)據(jù)可視化;從數(shù)據(jù)中心的建設(shè)思路、Kettle特性與ECharts的體系架構(gòu)來介紹各自的工作原理;在實(shí)際研發(fā)的項(xiàng)目中,表明了Kettle和ECharts應(yīng)用的可行性與良好的功能特性。
關(guān)鍵詞:開源; 數(shù)據(jù)匯聚; 可視化; Kettle; ECharts
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)10-0235-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Research on Data Aggregation and Visualization Technology Based on Open Source
JIANG Jie-bao1, YU Wei-hong2
(1.Jiangxi Industry Vocational and Technical College,Nanchang 330022, China;2.Baihuazhou Primary School, Nanchang 330022, China)
Abstract: Data center gathers all kinds of data of enterprise production activities, which is the basis of enterprise production process management and decision-making. According to the system architecture diagram of data center, this paper uses open source Kettle tools to realize data aggregation and ECharts tools to realize data visualization. The paper introduces their working principles from the construction idea of data center, Kettle characteristics and ECharts architecture. In the actual projects, it shows the feasibility and good functional characteristics of Kettle and ECharts applications.
Key words:open source;data aggregation;visualization;kettle;E Charts
數(shù)據(jù)已經(jīng)滲透到當(dāng)今每一個(gè)行業(yè)和業(yè)務(wù)職能領(lǐng)域,成為重要的生產(chǎn)因素。通過建立健全大數(shù)據(jù)輔助決策的機(jī)制,推動(dòng)形成“用數(shù)據(jù)說話、用數(shù)據(jù)決策、用數(shù)據(jù)管理、用數(shù)據(jù)創(chuàng)新”的決策新方式。充分利用大數(shù)據(jù)平臺(tái),綜合分析各種風(fēng)險(xiǎn)因素,提高企業(yè)對(duì)風(fēng)險(xiǎn)因素的感知、預(yù)測(cè)、防范能力。只有不同系統(tǒng)、不同領(lǐng)域的數(shù)據(jù)實(shí)現(xiàn)大范圍的流通與融合,才能實(shí)現(xiàn)多源數(shù)據(jù)的融合分析,從而賦予人類觀察事物的全方位視角。由復(fù)雜的數(shù)據(jù)源環(huán)境內(nèi)獲得合理有效的數(shù)據(jù)與可視化的展示數(shù)據(jù),是很值得研究的問題。本文提出的基于開源的數(shù)據(jù)匯聚與可視化技術(shù),可適用于輕量級(jí)的數(shù)據(jù)中心應(yīng)用。
1 關(guān)鍵技術(shù)
Kettle是一款使用Java 編寫的開源ETL工具,可以在Windows、Linux、Unix 等多個(gè)操作系統(tǒng)平臺(tái)上運(yùn)行,它支持多種異構(gòu)數(shù)據(jù)源:包括關(guān)系數(shù)據(jù)庫(oracle,mysql,sqlServer等)、XML文件、文本文件等多種格式的輸入和輸出。ETL(Extract Transform Load)代表數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)加載,是實(shí)現(xiàn)異構(gòu)數(shù)據(jù)的匯聚和共享的有效方法。
ECharts(Enterprise Charts)是一款開源的數(shù)據(jù)圖表工具,它可以在PC和移動(dòng)設(shè)備上運(yùn)行,在瀏覽器上兼容性好,提供直觀、生動(dòng)、可交互、個(gè)性化定制的數(shù)據(jù)可視化圖表。它支持拖拽重計(jì)算、數(shù)據(jù)視圖、值域漫游等特性大大增強(qiáng)了用戶體驗(yàn),賦予了用戶對(duì)數(shù)據(jù)進(jìn)行挖掘、整合的能力。
2 基本工作原理
數(shù)據(jù)中心庫是匯聚了企業(yè)各類數(shù)據(jù),其中各類數(shù)據(jù)是來源于生產(chǎn)活動(dòng)中的不同業(yè)務(wù)的系統(tǒng)庫。通過Kettle(ETL)工具實(shí)現(xiàn)數(shù)據(jù)庫A,數(shù)據(jù)庫B,數(shù)據(jù)庫C等多個(gè)異構(gòu)數(shù)據(jù)的匯聚與清洗。首先:分別配置各個(gè)數(shù)據(jù)源的IP與用戶名,密碼,能夠通過賬號(hào)和密碼查詢到源系統(tǒng)數(shù)據(jù);第二步:根據(jù)具體的業(yè)務(wù)表需求,確定抽取的詳細(xì)數(shù)據(jù)字段、數(shù)據(jù)抽取的周期與數(shù)據(jù)清洗的規(guī)則;第三:結(jié)果數(shù)據(jù)入數(shù)據(jù)中心庫;第四:異常檢測(cè)功能:根據(jù)結(jié)果數(shù)據(jù),配置異常波動(dòng)告警機(jī)制,及時(shí)發(fā)現(xiàn)數(shù)據(jù)異常,保證數(shù)據(jù)質(zhì)量。數(shù)據(jù)中心成了學(xué)校數(shù)據(jù)檔案館系統(tǒng)架構(gòu)圖如下:
其中:Kettle的核心是作業(yè)(Job)和轉(zhuǎn)換(Transformation)。作業(yè)基于業(yè)務(wù)流程, 協(xié)調(diào)數(shù)據(jù)源、執(zhí)行過程和相關(guān)依賴關(guān)系,形成一個(gè)能夠被調(diào)度和執(zhí)行的邏輯順序隊(duì)列,實(shí)現(xiàn)對(duì)整個(gè)工作流的控制。轉(zhuǎn)換是負(fù)責(zé)處理抽取、 轉(zhuǎn)換加載各種對(duì)數(shù)據(jù)行的操作;他包括一個(gè)集齊以上的步驟 (step),如讀文件、 過濾輸出、 清洗數(shù)據(jù)或加載數(shù)據(jù)到目標(biāo)數(shù)據(jù)庫。 轉(zhuǎn)換的步驟通過跳(hop) 連接,跳定義一個(gè)單向通道,允許數(shù)據(jù)從一個(gè)步驟流向另一個(gè)步驟。
以數(shù)據(jù)中心庫為基礎(chǔ),可以進(jìn)行關(guān)聯(lián)分析與針對(duì)性的挖掘分析。分析出的結(jié)果數(shù)據(jù),可以通過數(shù)據(jù)可視化開源工具ECharts很好的圖表展示。ECharts體系架構(gòu)圖如下:
3 功能特性
本文中的數(shù)據(jù)匯聚采用開源的Kettle工具,實(shí)現(xiàn)對(duì)多個(gè)數(shù)據(jù)源的數(shù)據(jù)匯聚,能夠適配各種數(shù)據(jù)源,滿足基本的業(yè)務(wù)需求,很好的解決信息孤島問題;Kettle工具簡(jiǎn)化了異構(gòu)數(shù)據(jù)源的數(shù)據(jù)匯聚復(fù)雜性,工具安裝使用方便,通過拖拽界面實(shí)現(xiàn)配置,是一款優(yōu)秀的ETL工具。
開源Echarts可視化圖表工具的數(shù)據(jù)圖表種類豐富,使用方便。以前的WEB頁面中使用的圖表都是用靜態(tài)的圖片,通過Echarts工具可以將動(dòng)態(tài)的讀取數(shù)據(jù)展示,從而解決了由靜態(tài)圖片展示成動(dòng)態(tài)的數(shù)據(jù)圖表。
4 小結(jié)
本文旨在為數(shù)據(jù)中心的數(shù)據(jù)匯聚與數(shù)據(jù)可視化展現(xiàn)提供一種輕量級(jí)開源的解決方案,開源工具的使用簡(jiǎn)單,具有良好的跨平臺(tái)性,可以安全有效地實(shí)現(xiàn)異構(gòu)數(shù)據(jù)匯聚與數(shù)據(jù)可視化展示。熟悉Kettle和ECharts兩款開源工具在實(shí)踐使用方法后,各個(gè)場(chǎng)景使用只需要把業(yè)務(wù)流程梳理清楚,明確輸入、輸出, 確定轉(zhuǎn)換細(xì)節(jié)和具體數(shù)據(jù)圖表選擇,就能夠快速實(shí)現(xiàn)多個(gè)信息系統(tǒng)間的數(shù)據(jù)集成,實(shí)現(xiàn)數(shù)據(jù)的共享與數(shù)據(jù)可視化,提高業(yè)務(wù)系統(tǒng)的協(xié)同與管理者決策能力。
參考文獻(xiàn):
[1] 劉夢(mèng)蘇.ETL技術(shù)在數(shù)據(jù)分析系統(tǒng)中的應(yīng)用初探[J].信息通信,2018(8):202-203
[2] 李磊.ETL任務(wù)集群調(diào)度方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2018(11):35-38
[3] 王曉虹,劉瑩,張艷鳳.高校數(shù)據(jù)集成系統(tǒng)的ETL設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011(7):186-189
[4] 王珍玲.ETL 技術(shù)在實(shí)現(xiàn)數(shù)據(jù)分析系統(tǒng)中的應(yīng)用研究[J].信息與電腦(理論版),2014(9):115-116
[5] 趙海國(guó).Ajax支持下的ECharts圖形報(bào)表技術(shù)的應(yīng)用[J].電子技術(shù)設(shè)計(jì)與應(yīng)用,2018(4):66-69
[6] 宋佳慧,劉遠(yuǎn)剛,林琳,等.基于eCharts的動(dòng)態(tài)統(tǒng)計(jì)圖表繪制技術(shù)研究[J].電腦知識(shí)與技術(shù),2014(9):202-204
[7] Baidu公司.開源項(xiàng)目ECharts官方網(wǎng)站.http://eCharts.baidu.com/index.html.
[8] 路川,胡欣杰.ORACLE 11g 寶典[M].北京:電子工業(yè)出版社,2009.
[9] 閻宏.JAVA與模式[M].北京:電子工業(yè)出版社,2002.
[10] (美)格爾克, 周立柱. 數(shù)據(jù)庫管理系統(tǒng)[M].北京: 清華大學(xué)出版社,2002.
[11] (美)Erich Gamma, Richard Helm, Ralph Johnson,等.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M]. 機(jī)械工業(yè)出版社,2004.
[12] 溫昱. 軟件架構(gòu)設(shè)計(jì)[M]. 電子工業(yè)出版社,2007.
[13] 姚文琳,王存剛,劉世棟,等.基于 Oracle 的分布式數(shù)據(jù)庫設(shè)計(jì)與技術(shù)[J].計(jì)算機(jī)工程,2006(20):89-91.
[14] 任磊,杜一,馬帥,等.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報(bào),2014(9):1909-1936.
[15] (美)Deepak Alur, et al. J2EE 核心模式[M].北京: 機(jī)械工業(yè)出版社,2002.
【通聯(lián)編輯:唐一東】