国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2021-04-04 10:28薛鵬飛
信息記錄材料 2021年8期
關鍵詞:車行圖形化控件

薛鵬飛

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

1 引言

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

2 Kettle技術概述

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

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

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

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

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

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

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

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

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

4.2 Kettle下載部署

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

4.3 Kettle的核心組件介紹

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

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

(2)Pan.bat/pan.sh。Pan是一個獨立運行的命令行程序,沒有圖形化界面,用于執(zhí)行由Spoon設計的轉換和作業(yè),是一個后臺執(zhí)行程序。

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

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

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

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

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

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

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

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

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

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

5 結語

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

猜你喜歡
車行圖形化控件
關于.net控件數(shù)組的探討
峰回路轉不見君 山頂空留車行處 2018環(huán)意大利自行車賽
車行水上躍山河
永福老區(qū)龍車行
運用圖形化聽寫式復習,構建高效地理課堂
圖形化地區(qū)電網(wǎng)無功優(yōu)化軟件開發(fā)與應用
ASP.NET服務器端驗證控件的使用
土釘墻在近障礙物的地下車行通道工程中的應用
圖形化儀表控制系統(tǒng)上位機軟件的設計與開發(fā)
基于嵌入式MINIGUI控件子類化技術的深入研究與應用
乃东县| 林州市| 嘉义县| 乌拉特中旗| 独山县| 九龙坡区| 柳江县| 临沭县| 阿城市| 东乌| 太白县| 来凤县| 新昌县| 昆明市| 安徽省| 定兴县| 泸州市| 探索| 泗水县| 阿瓦提县| 保德县| 永川市| 察隅县| 雷波县| 雅安市| 惠来县| 宁远县| 庆云县| 胶南市| 五华县| 社旗县| 莱州市| 玉田县| 元谋县| 深圳市| 车险| 龙泉市| 谢通门县| 邳州市| 合川市| 深水埗区|