• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Kettle在高校數(shù)據(jù)中心對(duì)接集成中的應(yīng)用與研究

      2021-04-04 10:28:34薛鵬飛
      信息記錄材料 2021年8期
      關(guān)鍵詞:車(chē)行圖形化控件

      薛鵬飛

      (常州紡織服裝職業(yè)技術(shù)學(xué)院 江蘇 常州 213164)

      1 引言

      智慧校園建設(shè)是當(dāng)下每所高校都在大力推進(jìn)的信息化工程,隨著智慧校園由1.0向2.0的發(fā)展,逐漸從數(shù)字化時(shí)代演變到了智能化時(shí)代。在智慧校園1.0階段,高校建設(shè)了多個(gè)業(yè)務(wù)系統(tǒng),實(shí)現(xiàn)了多個(gè)業(yè)務(wù)系統(tǒng)之間的統(tǒng)一身份認(rèn)證以及部分的數(shù)據(jù)集成,但是各業(yè)務(wù)系統(tǒng)之間真正的數(shù)據(jù)共享還沒(méi)完全做到,即信息孤島并沒(méi)有完全打通,而要實(shí)現(xiàn)各系統(tǒng)之間的數(shù)據(jù)共享交換離不開(kāi)一項(xiàng)技術(shù),即ETL(Extract-Transform-Load)技術(shù),它是用來(lái)描述將數(shù)據(jù)從源端經(jīng)過(guò)抽取、轉(zhuǎn)換、裝入到目的端的過(guò)程。目前常用的ETL工具主要有Informatica PowerCenter、IBM Datastage、Oracle Warehouse Builder(OWB)、Oracle Data Integrator(ODI)、Microsoft SQL Server Integration Services及開(kāi)源的Kettle等[1]。

      2 Kettle技術(shù)概述

      Kettle是由美國(guó)人馬特·卡斯特(Matt Casters)于2002—2003年研發(fā)的一款ETL工具,然后于2005年12月進(jìn)行了開(kāi)源,2006年初被一家開(kāi)源BI公司Pentaho收購(gòu),隨后Kettle改名為Pentaho Data Integration,簡(jiǎn)稱(chēng)PDI。2017年9月20日起,Pentaho被日立集團(tuán)新成立的全資子公司Hitachi Vantara合并。到目前為止,Kettle依然是個(gè)開(kāi)源軟件,它的源代碼地址為https://github.com/pentaho/pentaho-kettle/,目前國(guó)內(nèi)具有ETL自主研發(fā)產(chǎn)品的公司多數(shù)在Kettle開(kāi)源的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)而來(lái)。

      Kettle可管理來(lái)自多個(gè)不同數(shù)據(jù)庫(kù)的數(shù)據(jù),還可以管理來(lái)自NoSQL、文本文件、XML、JSON等數(shù)據(jù)[2],通過(guò)可視化圖形界面設(shè)計(jì)器,像畫(huà)流程圖那樣設(shè)計(jì)出數(shù)據(jù)流轉(zhuǎn)的流程,然后通過(guò)腳本的方式發(fā)布到服務(wù)器上定時(shí)執(zhí)行數(shù)據(jù)流轉(zhuǎn)任務(wù)。它是一款綠色軟件,解壓后即可運(yùn)行,由Java編寫(xiě),可以運(yùn)行在Windows、Linux、UNIX操作系統(tǒng)上,可以穩(wěn)定高效地進(jìn)行海量數(shù)據(jù)集成。

      3 高校數(shù)據(jù)中心數(shù)據(jù)對(duì)接集成的現(xiàn)狀

      高校的信息化建設(shè)一直以來(lái)都缺乏頂層設(shè)計(jì),重單一項(xiàng)目建設(shè),輕統(tǒng)一規(guī)劃,且應(yīng)用系統(tǒng)多數(shù)由各職能部門(mén)自建,沒(méi)有統(tǒng)一標(biāo)準(zhǔn)。近些年,隨著信息化環(huán)境的發(fā)展以及國(guó)家對(duì)教育信息化的高度重視,多數(shù)高校成立了信息化專(zhuān)門(mén)部門(mén)來(lái)統(tǒng)籌信息化建設(shè),并逐漸開(kāi)始意識(shí)到數(shù)據(jù)治理在高校信息化建設(shè)中的重要意義,以及數(shù)據(jù)標(biāo)準(zhǔn)在數(shù)據(jù)治理中的重要性。

      但是,要集成原有應(yīng)用系統(tǒng)數(shù)據(jù)困難重重:(1)由于原有應(yīng)用系統(tǒng)建設(shè)久遠(yuǎn),聯(lián)系不上供應(yīng)商;(2)原有應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)不開(kāi)放,或者要向供應(yīng)商支付高昂對(duì)接費(fèi)用;(3)拿到了應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù),但由于缺乏數(shù)據(jù)字典和元數(shù)據(jù)信息,導(dǎo)致無(wú)從下手,比如要從教務(wù)管理系統(tǒng)中獲取課表信息,得先知道哪個(gè)表是課表,還得知道每個(gè)字段的含義,這些信息在職能部門(mén)當(dāng)初建設(shè)應(yīng)用系統(tǒng)時(shí)都會(huì)被忽略,這為數(shù)據(jù)集成造成了非常大的困難;(4)采用數(shù)據(jù)庫(kù)定時(shí)任務(wù)集成,通常這類(lèi)技術(shù)細(xì)節(jié)的文檔都不全,由于甲乙雙方當(dāng)時(shí)初建人員崗位調(diào)整等歷史原因,導(dǎo)致數(shù)據(jù)的集成規(guī)則成了技術(shù)黑箱;(5)采用了ETL工具進(jìn)行集成,比如ODI工具,由于操作復(fù)雜,學(xué)習(xí)成本較高,以及技術(shù)細(xì)節(jié)文檔不全跟上面第4點(diǎn)中一樣,后期高校要自主修改數(shù)據(jù)對(duì)接內(nèi)容非常困難。

      高校要進(jìn)行數(shù)據(jù)治理,就必須自主掌握數(shù)據(jù)對(duì)接集成技術(shù),且要簡(jiǎn)單易上手,可視化操作,這樣才能適應(yīng)高校專(zhuān)業(yè)技術(shù)人員人手不足以及需求多變的常態(tài)。傳統(tǒng)商業(yè)ETL工具雖然功能強(qiáng)大,但是一方面學(xué)習(xí)成本較高,另一方面費(fèi)用也較高。開(kāi)源的Kettle恰恰解決了這些問(wèn)題,上手簡(jiǎn)單,零成本就可以完全實(shí)現(xiàn)高校數(shù)據(jù)中心數(shù)據(jù)對(duì)接集成,即便后期采購(gòu)基于Kettle二次開(kāi)發(fā)的ETL工具,也很容易上手。

      4 利用Kettle技術(shù)對(duì)接集成高校數(shù)據(jù)中心

      4.1 高校數(shù)據(jù)中心對(duì)接集成前置條件

      高校數(shù)據(jù)中心在進(jìn)行對(duì)接集成前必須明確對(duì)接需求,確定源端數(shù)據(jù)和目的端數(shù)據(jù),拿到源端和目的端數(shù)據(jù)庫(kù)連接信息,包括數(shù)據(jù)字典和元數(shù)據(jù)信息,如果源端和目的端應(yīng)用系統(tǒng)供應(yīng)商能積極配合將大大提高對(duì)接集成效率。這一步非常關(guān)鍵,這是將來(lái)智慧校園項(xiàng)目建設(shè)過(guò)程中,需要和職能部門(mén)、第三方供應(yīng)商必須約定遵守的原則,否則數(shù)據(jù)對(duì)接集成將非常困難。

      4.2 Kettle下載部署

      Kettle的官方下載網(wǎng)址為https://sourceforge.net/projects/pentaho/files/,Kettle由JAVA開(kāi)發(fā),所以運(yùn)行只需要JDK運(yùn)行環(huán)境即可,建議安裝JDK1.8或以上版本,隨后配置好操作系統(tǒng)環(huán)境變量,最后將下載的Kettle壓縮包進(jìn)行解壓即完成了部署。

      4.3 Kettle的核心組件介紹

      在Kettle的解壓目錄中有3個(gè)最重要的核心組件,它們以批處理文件形式運(yùn)行,分別對(duì)應(yīng)Windows中的bat文件和Linux中的sh文件,在對(duì)接集成中會(huì)經(jīng)常使用到,它們分別為以下幾種。

      (1)Spoon.bat/spoon.sh。Spoon是一個(gè)用于設(shè)計(jì)ETL轉(zhuǎn)換過(guò)程、創(chuàng)建作業(yè)調(diào)度規(guī)則、對(duì)數(shù)據(jù)庫(kù)連接進(jìn)行配置與資源庫(kù)管理等的圖形化用戶(hù)界面程序。

      (2)Pan.bat/pan.sh。Pan是一個(gè)獨(dú)立運(yùn)行的命令行程序,沒(méi)有圖形化界面,用于執(zhí)行由Spoon設(shè)計(jì)的轉(zhuǎn)換和作業(yè),是一個(gè)后臺(tái)執(zhí)行程序。

      (3)Kitchen.bat/kitchen.sh。Kitchen是一個(gè)獨(dú)立運(yùn)行的命令行程序,沒(méi)有圖形化界面,用于在后臺(tái)批量自動(dòng)化執(zhí)行作業(yè),實(shí)現(xiàn)作業(yè)自動(dòng)調(diào)試。

      4.4 用Kettle創(chuàng)建轉(zhuǎn)換和作業(yè)

      Kettle的核心概念是將復(fù)雜的ETL過(guò)程用工作流的形式進(jìn)行構(gòu)建,而且整個(gè)過(guò)程都是圖形化方式,通過(guò)拖拽操作即可完成。在用Spoon進(jìn)行圖形化方式設(shè)計(jì)工作流時(shí),核心原理就是轉(zhuǎn)換(Transformation)和作業(yè)(Job),可以簡(jiǎn)單理解為Kettle里的流程圖。

      轉(zhuǎn)換是定義數(shù)據(jù)操作的容器,主要是對(duì)數(shù)據(jù)的各種復(fù)雜處理。轉(zhuǎn)換可以包含一個(gè)或多個(gè)步驟(Step),步驟通過(guò)跳(Hop)來(lái)連接,即在流程圖中帶箭頭的連接線(xiàn)。它允許數(shù)據(jù)從一個(gè)步驟向另一個(gè)步驟流動(dòng),即為數(shù)據(jù)流。數(shù)據(jù)流的單位為行,數(shù)據(jù)以數(shù)據(jù)行的形式沿著步驟流動(dòng),步驟可以對(duì)數(shù)據(jù)進(jìn)行輸入、處理和輸出。

      作業(yè)是對(duì)一個(gè)或多個(gè)轉(zhuǎn)換、一個(gè)或多個(gè)作業(yè)進(jìn)行調(diào)度的流程[3]。作業(yè)流程與轉(zhuǎn)換流程相似,但是作業(yè)流程必須包含Start控件,除此之外作業(yè)還可以進(jìn)行郵件收發(fā)、文件管理、條件判斷、腳本執(zhí)行等。

      下面以高校門(mén)禁車(chē)行數(shù)據(jù)通過(guò)ETL推送數(shù)據(jù)到數(shù)據(jù)中心為例,介紹用Kettle實(shí)現(xiàn)轉(zhuǎn)換和作業(yè)的過(guò)程。

      第1步在Spoon編輯器中先設(shè)置DB連接,配置好對(duì)應(yīng)數(shù)據(jù)庫(kù)版本的驅(qū)動(dòng)程序,再將門(mén)禁車(chē)行數(shù)據(jù)庫(kù)和數(shù)據(jù)中心數(shù)據(jù)庫(kù)進(jìn)行連接配置以便之后引用;第2步新建轉(zhuǎn)換,先配置門(mén)禁車(chē)行數(shù)據(jù)源,將核心對(duì)象中的輸入控件“表輸入”拖拽到工作臺(tái),引用剛剛配置好的門(mén)禁車(chē)行數(shù)據(jù)庫(kù)信息,寫(xiě)好門(mén)禁車(chē)行數(shù)據(jù)庫(kù)表的SQL查詢(xún)語(yǔ)句,將需要推送的數(shù)據(jù)先查詢(xún)出來(lái)作為數(shù)據(jù)源;第3步配置輸出,將輸出對(duì)象中的“插入/更新”控件拖拽到工作臺(tái),引用數(shù)據(jù)中心數(shù)據(jù)庫(kù)信息,配置好目標(biāo)表、查詢(xún)關(guān)鍵字和更新字段等信息,即輸出到數(shù)據(jù)中心數(shù)據(jù)庫(kù)中;第4步將工作臺(tái)中的門(mén)禁車(chē)行數(shù)據(jù)源和數(shù)據(jù)中心目的端用箭頭進(jìn)行連接;第5步保存并運(yùn)行這個(gè)轉(zhuǎn)換即完成了一次高校門(mén)禁車(chē)行數(shù)據(jù)通過(guò)ETL推送數(shù)據(jù)到數(shù)據(jù)中心的過(guò)程,此時(shí)數(shù)據(jù)中心已經(jīng)有了門(mén)禁車(chē)行數(shù)據(jù)了;第6步創(chuàng)建作業(yè),經(jīng)過(guò)以上5步操作只是進(jìn)行了一次數(shù)據(jù)同步,如何讓同步按照我們?cè)O(shè)定的規(guī)則進(jìn)行自動(dòng)同步呢?作業(yè)就是解決這個(gè)問(wèn)題的,分別將“Start”控件、剛剛創(chuàng)建的轉(zhuǎn)換和“成功”控件拖拽到工作臺(tái),連接流程箭頭配置好作業(yè)定時(shí)調(diào)度規(guī)則,保存運(yùn)行即可。

      在用ETL進(jìn)行數(shù)據(jù)更新設(shè)計(jì)的時(shí)候,需要根據(jù)實(shí)際應(yīng)用場(chǎng)景靈活設(shè)計(jì)以提高轉(zhuǎn)換的效率,比如常用的數(shù)據(jù)更新應(yīng)用場(chǎng)景有全量數(shù)據(jù)更新、增量數(shù)據(jù)更新、修改和插入數(shù)據(jù)更新、增刪改數(shù)據(jù)更新等,這些數(shù)據(jù)更新的效率都各不相同,根據(jù)實(shí)際情況選擇最合適的數(shù)據(jù)更新方案。作業(yè)的調(diào)度規(guī)則也需要根據(jù)實(shí)際情況來(lái)進(jìn)行合理設(shè)計(jì),實(shí)時(shí)性不高的場(chǎng)景可以把調(diào)度規(guī)則設(shè)在用戶(hù)使用率不高的時(shí)間段,以免海量數(shù)據(jù)頻繁調(diào)度影響兩端數(shù)據(jù)庫(kù)的IO性能。

      4.5 部署Kettle作業(yè)實(shí)現(xiàn)自動(dòng)調(diào)度

      Kettle作業(yè)實(shí)現(xiàn)自動(dòng)調(diào)度有兩種方式:一是直接在Spoon編輯器中實(shí)現(xiàn),只要Spoon編輯器處于打開(kāi)狀態(tài),運(yùn)行中的作業(yè)就會(huì)持續(xù)自動(dòng)調(diào)度,但是一旦關(guān)閉Spoon編輯器,作業(yè)就停止了,顯然這種方式只適合實(shí)驗(yàn)環(huán)境;二是通過(guò)Kitchen來(lái)進(jìn)行自動(dòng)調(diào)度,通過(guò)批處理的方式來(lái)實(shí)現(xiàn),在Windows中可通過(guò)任務(wù)計(jì)劃程序或服務(wù)來(lái)實(shí)現(xiàn),在Linux中可通過(guò)定時(shí)任務(wù)來(lái)實(shí)現(xiàn),在生產(chǎn)環(huán)境中往往采用第2種方式來(lái)實(shí)現(xiàn)作業(yè)的自動(dòng)調(diào)度。

      5 結(jié)語(yǔ)

      Kettle作為一款開(kāi)源ETL工具,確實(shí)在技術(shù)層面能夠幫助高校進(jìn)行最節(jié)約成本的數(shù)據(jù)對(duì)接集成工作,但是要解決智慧校園建設(shè)過(guò)程中各應(yīng)用系統(tǒng)之間的信息孤島問(wèn)題,除了技術(shù)層面,還要有管理和規(guī)劃層面的支持。只有建立數(shù)據(jù)標(biāo)準(zhǔn)、數(shù)據(jù)共享規(guī)范和數(shù)據(jù)安全保障機(jī)制,才能真正消除信息孤島,充分發(fā)揮數(shù)據(jù)效能。

      猜你喜歡
      車(chē)行圖形化控件
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      峰回路轉(zhuǎn)不見(jiàn)君 山頂空留車(chē)行處 2018環(huán)意大利自行車(chē)賽
      LKJ自動(dòng)化測(cè)試系統(tǒng)圖形化技術(shù)研究
      車(chē)行水上躍山河
      永福老區(qū)龍車(chē)行
      紅土地(2016年6期)2017-01-15 13:45:59
      運(yùn)用圖形化聽(tīng)寫(xiě)式復(fù)習(xí),構(gòu)建高效地理課堂
      圖形化地區(qū)電網(wǎng)無(wú)功優(yōu)化軟件開(kāi)發(fā)與應(yīng)用
      土釘墻在近障礙物的地下車(chē)行通道工程中的應(yīng)用
      圖形化儀表控制系統(tǒng)上位機(jī)軟件的設(shè)計(jì)與開(kāi)發(fā)
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      宜川县| 德令哈市| 长海县| 土默特左旗| 雅江县| 洮南市| 江陵县| 泾川县| 阿拉善盟| 分宜县| 阿拉尔市| 阿城市| 荆门市| 双柏县| 军事| 辉南县| 丰台区| 石城县| 贵港市| 崇左市| 黎平县| 芦山县| 乡城县| 云阳县| 佛山市| 来凤县| 沂源县| 大丰市| 湘西| 商丘市| 镇沅| 鹰潭市| 大姚县| 历史| 邵武市| 阿巴嘎旗| 汨罗市| 岢岚县| 蒲城县| 进贤县| 玛沁县|