李云松
(滁州職業(yè)技術(shù)學(xué)院信息工程系,安徽滁州239000)
小微企業(yè)數(shù)據(jù)整合中ETL工具Kettle的應(yīng)用*
李云松
(滁州職業(yè)技術(shù)學(xué)院信息工程系,安徽滁州239000)
針對當(dāng)前小微企業(yè)在信息化建設(shè)過程中存在的數(shù)據(jù)存儲分散、數(shù)據(jù)格式各異等問題,從企業(yè)對數(shù)據(jù)應(yīng)用的實際需求出發(fā),探討了用ETL工具——開源軟件Kettle進行企業(yè)數(shù)據(jù)整合的方法,并結(jié)合實際進行了數(shù)據(jù)整合.
ETL;Kettle;小微企業(yè);數(shù)據(jù)整合
隨著信息化融入社會經(jīng)濟的各個部分,用戶對信息化的要求也越來越高.小微企業(yè)的需求也從早期的記賬式的局部應(yīng)用發(fā)展成為能夠整合企業(yè)內(nèi)部各業(yè)務(wù)部門的工作流程協(xié)同與決策支持.例如企業(yè)的典型應(yīng)用:原料采購、入庫、出庫、生產(chǎn)組裝、銷售、財務(wù)核算等典型生產(chǎn)流程,這些生產(chǎn)流程需要在不同部門的不同信息系統(tǒng)中處理與應(yīng)用數(shù)據(jù)才能夠?qū)崿F(xiàn).從成本核算的角度看是不合理的.用戶理想中的數(shù)據(jù)平臺是:不同系統(tǒng)間能夠?qū)崿F(xiàn)數(shù)據(jù)的無縫對接,淡化或忽略不同系統(tǒng)間的邊界.并在需要的時候?qū)崿F(xiàn)數(shù)據(jù)的個性化推送,為企業(yè)經(jīng)營者的決策支持提供幫助.這些要求使得信息系統(tǒng)統(tǒng)一建設(shè)的需求與數(shù)據(jù)整合變得迫切起來,并要求數(shù)據(jù)整合后的平臺能夠為各個不同業(yè)務(wù)過程提供集成化的數(shù)據(jù)支持.新的平臺可以實現(xiàn)業(yè)務(wù)的集中訪問、數(shù)據(jù)的共享以及信息的整體展示,從而將企業(yè)信息化建設(shè)從分散獨立建設(shè)階段走向應(yīng)用集成和信息集成的新階段,而整合信息系統(tǒng)平臺的一個基礎(chǔ)就是業(yè)務(wù)數(shù)據(jù)的整合.
目前,用戶需要的數(shù)據(jù)以各種不同的格式保存并分散存儲在不同部門的服務(wù)器或計算機中.這時數(shù)據(jù)平臺面臨的情況就是要將不同情形下的數(shù)據(jù)對象進行數(shù)據(jù)轉(zhuǎn)換與歸并來實現(xiàn)數(shù)據(jù)整合,淡化數(shù)據(jù)的格式的不同及可能的數(shù)據(jù)異常,把整合后的數(shù)據(jù)提供到應(yīng)用平臺中,供企業(yè)的各部門加以調(diào)用.這樣可以使企業(yè)充分地使用現(xiàn)有的數(shù)據(jù)資源,從而減少浪費在數(shù)據(jù)采集與數(shù)據(jù)處理等方面的重復(fù)勞動,使得企業(yè)減少因此產(chǎn)生的各種費用,最終將增強企業(yè)對市場的競爭力及提高企業(yè)的經(jīng)濟效益[1].
企業(yè)用戶希望看到的應(yīng)用情景是:無論原始的數(shù)據(jù)是何種類型,存儲在什么位置,通過數(shù)據(jù)處理整合后輸出是統(tǒng)一的、可以更好利用的.
數(shù)據(jù)整合集成的功能主要包括:能夠及時地通過存取、整合以不同形式存在的商業(yè)數(shù)據(jù);能夠在跨操作系統(tǒng)平臺及不同的服務(wù)提供商的復(fù)雜環(huán)境下集成數(shù)據(jù);數(shù)據(jù)整合后能夠滿足所在企業(yè)的核心業(yè)務(wù)應(yīng)用對數(shù)據(jù)的需求;能夠把不同的數(shù)據(jù)整合到一種最易于應(yīng)用的格式下,便于在企業(yè)內(nèi)或與外部客戶共享.基于以上的功能需求,企業(yè)在實際處理過程中可以采用一些技術(shù)來實現(xiàn)[2].
1)數(shù)據(jù)集成服務(wù)
微軟的SQL Server集成服務(wù)是原來的數(shù)據(jù)轉(zhuǎn)換服務(wù)升級版本.它不僅能夠執(zhí)行簡單的導(dǎo)入與導(dǎo)出任務(wù),還能執(zhí)行在異構(gòu)數(shù)據(jù)源中進行較復(fù)雜的ETL(提取、轉(zhuǎn)換、加載)任務(wù).集成服務(wù)中不僅包含了數(shù)據(jù)轉(zhuǎn)換的控制流和數(shù)據(jù)流邏輯設(shè)計工具和用于建立、執(zhí)行包的工具,還包含支持自動執(zhí)行數(shù)據(jù)轉(zhuǎn)換所需的系統(tǒng)服務(wù).
2)XML技術(shù)
XML作為被廣泛用來跨平臺之間交互數(shù)據(jù)的形式,它是設(shè)計用來傳送及攜帶數(shù)據(jù)信息的擴展標(biāo)記語言.XML語言提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù).它可以在數(shù)據(jù)轉(zhuǎn)換中充當(dāng)不同數(shù)據(jù)的最終格式.
3)專用ETL工具
ETL是信息系統(tǒng)集成中實現(xiàn)數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過程,它可以遵照提前制定的統(tǒng)一的規(guī)則進行數(shù)據(jù)集成,通過它可以進一步地提高數(shù)據(jù)的利用價值.目前主流的 ETL工具較多,如:Informatica的PowerCenter、IBM的DataStage及開源的Kettle(可譯為水壺)等.它們在某些具體的功能上有所區(qū)別,可以說各有千秋,但均能夠完成數(shù)據(jù)提取、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)裝載等任務(wù)[3].ETL系統(tǒng)的一般架構(gòu)如圖1所示.
圖1ETL應(yīng)用架構(gòu)
Kettle是一個開源的ETL工具.它的作者想要達到的目的是:把任一種或多種數(shù)據(jù)源放入一個Kettle中,經(jīng)過Kettle對數(shù)據(jù)的處理,從“水壺口中流出”的是按某一種指定的數(shù)據(jù)格式存儲的數(shù)據(jù).Kettle提供了一個圖形化的工作界面及相應(yīng)的對象設(shè)置來描述用戶的任務(wù)需求,用戶對Kettle內(nèi)部的數(shù)據(jù)處理過程可以一無所知[4].Kettle的工作界面如圖2所示.
圖2 Kettle的工作界面
1)Kettle的平臺優(yōu)點
Kettle是以開發(fā)與應(yīng)用領(lǐng)域里流行的Java平臺為基礎(chǔ)開發(fā)出來的,具有較好的移植性.它可以在Windows、Linux等多種操作系統(tǒng)平臺中很好地運行.從某種角度看,雖然Kettle相對于PowerCenter和DataStage在性能上有些差強人意,但Kettle是開源的免費軟件,且能夠?qū)λM行二次開發(fā),適合數(shù)據(jù)量相對較小的小微企業(yè)應(yīng)用,可以節(jié)約企業(yè)的運營成本.
2)Kettle的易用性優(yōu)點
Kettle的易用性表現(xiàn)在以下幾個方面.
第一,Kettle中Spoon可在圖形化工作界面中來設(shè)計ETL的任務(wù),并且各項任務(wù)可以通過較簡單的設(shè)置達成任務(wù)需要.
第二,Kettle支持目前企業(yè)應(yīng)用的數(shù)據(jù)格式,如平面數(shù)據(jù)源XBase文件、Excel文件、TXT文件、XML文件,及數(shù)據(jù)庫服務(wù)提供者Oracle,Sql Server,Mysql等關(guān)系數(shù)據(jù)庫中數(shù)據(jù)表格式.
第三,Kettle具有良好的管理與調(diào)度能力.Kettle包含兩個核心:轉(zhuǎn)換(Transformation)和作業(yè)(Job).轉(zhuǎn)換主要完成對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,而作業(yè)可以完成對整個工作流的控制與調(diào)度.
某市某模具生產(chǎn)企業(yè)2008年創(chuàng)辦,該模具企業(yè)狀況是:企業(yè)的年營業(yè)收入可達600萬元.現(xiàn)有員工42人,其中一線操作工人30人,設(shè)計人員及管理人員12人.從該公司人員規(guī)模和營業(yè)收入上看只能歸入小微企業(yè)范疇.在發(fā)展的過程中為了實現(xiàn)管理的效率化要求,該企業(yè)先后為不同的部門購置了計算機及相關(guān)存儲設(shè)備,但數(shù)據(jù)信息是分散存放,掌握在各部門管理人員手中,企業(yè)對員工掌握的數(shù)據(jù)沒有提出統(tǒng)一管理要求.這也導(dǎo)致企業(yè)經(jīng)營者無法及時有效地利用這些數(shù)據(jù)為生產(chǎn)決策提供更多的支持與幫助.
通過對企業(yè)的調(diào)研發(fā)現(xiàn):兩個車間的情況是數(shù)據(jù)存儲在Excel電子表格中;倉庫的情況是數(shù)據(jù)存儲在Access數(shù)據(jù)庫中.倉庫在接收原料是將供貨方提供的Excel數(shù)據(jù)導(dǎo)入到Access表中存儲,按入庫時間命名,并打印紙質(zhì)入庫單存檔.而倉庫向車間提供原料或向客戶交貨時,再將數(shù)據(jù)從Access中導(dǎo)出至Excel,按出庫時間命名,并打印紙質(zhì)出庫單存檔.當(dāng)車間生產(chǎn)出產(chǎn)品入庫時,同樣需要提供Excel數(shù)據(jù)給倉庫,并導(dǎo)入Access中的產(chǎn)品庫存表,倉庫提供紙質(zhì)回單.
企業(yè)經(jīng)營者想通過本次整合數(shù)據(jù)來加強企業(yè)內(nèi)部管理,提升工作效率,加強資產(chǎn)及成本核算力度,提高現(xiàn)有資產(chǎn)利用率,比如通過對生產(chǎn)環(huán)節(jié)的更好掌控,減小原料及產(chǎn)品的庫存周期.
為了節(jié)約成本和對數(shù)據(jù)的集中管理,經(jīng)過轉(zhuǎn)換與整合后最終的數(shù)據(jù)存儲在一臺服務(wù)器中,該服務(wù)器中安裝MySql數(shù)據(jù)庫服務(wù).為了保證及時地獲取各部門的數(shù)據(jù),在企業(yè)內(nèi)部架設(shè)局域網(wǎng),達到企業(yè)內(nèi)所有計算機均能夠和服務(wù)器連通.這里選取企業(yè)管理中重要的環(huán)節(jié):倉庫管理中的入庫、出庫部分流程為例說明企業(yè)數(shù)據(jù)的轉(zhuǎn)換過程.
1)數(shù)據(jù)準(zhǔn)備
企業(yè)經(jīng)營者對出庫環(huán)節(jié)的要求是:“數(shù)字準(zhǔn)確,避免差錯”.這就需要整合后的數(shù)據(jù)可以實現(xiàn):某產(chǎn)品的數(shù)量而言,車間生產(chǎn)的產(chǎn)品數(shù)量,倉庫庫存的產(chǎn)品數(shù)量,倉庫出庫產(chǎn)品數(shù)量要相符.
2)數(shù)據(jù)整合過程
下面以產(chǎn)品“冰箱門內(nèi)嵌板”的數(shù)量管理為例來說明整合過程.在SPOON中“核心對象”選項卡中選擇對象類型并拖放在工作區(qū)中,在對象間創(chuàng)建HOP(對象間連接),對車間和倉庫的Excel、Access數(shù)據(jù)源和MySql服務(wù)器目標(biāo)數(shù)據(jù)表進行設(shè)置,設(shè)置完成后即可運行,如圖3所示.
圖3數(shù)據(jù)整合過程設(shè)計
經(jīng)過 ETL工具 Kettle整合后的數(shù)據(jù)存儲在Mysql服務(wù)器的不同表中,如生產(chǎn)表(g_produce)、入庫表(enteringwh)、出庫表(delivery)、庫存表(warehouse).整合后所有部門的數(shù)據(jù)均利用配套開發(fā)的信息系統(tǒng)中相應(yīng)的功能模塊來完成錄入與查詢,使得整個企業(yè)的生產(chǎn)在同一平臺中共享數(shù)據(jù).數(shù)據(jù)整合后的用戶對數(shù)據(jù)的查詢需求可以通過“綜合查詢系統(tǒng)”來完成,如圖4所示.例如:經(jīng)營者需要查閱:指定日期、產(chǎn)品名稱和某個車間的生產(chǎn)產(chǎn)品相關(guān)信息,經(jīng)營者只需要按圖4中設(shè)置完成輸入與選擇,即可得到想要的結(jié)果.
圖4綜合查詢系統(tǒng)
作為用戶無需知道在企業(yè)信息管理系統(tǒng)中執(zhí)行了“Select productname,sum(num)from g_produce where maketime =@qdate and productname= @pname and maker=@workshop”這樣的SQL腳本.
小微企業(yè)想要從根本改變在經(jīng)營管理中的“經(jīng)營成本高、技術(shù)應(yīng)用低”等困局,需要多方面的努力,比如企業(yè)經(jīng)營者和管理者自身能力的提升;企業(yè)經(jīng)營管理手段和技術(shù)方法的提高等.數(shù)據(jù)整合應(yīng)用作為企業(yè)在信息化建設(shè)中重要的一環(huán),它的成敗甚至將會最終左右著一個企業(yè)提升市場競爭力和生存力,對于小微企業(yè)更是如此.利用ETL技術(shù)的可以幫助小微企業(yè)實現(xiàn)數(shù)據(jù)的整合,整合后的數(shù)據(jù)能夠成為企業(yè)經(jīng)營者決策和管理的支撐,可以助力小微企業(yè)成長.
[1]張靖,程希來.多源異構(gòu)數(shù)據(jù)整合應(yīng)用研究[J].成都信息工程學(xué)院學(xué)院2009,24(3):254-258.
[2]武劍.數(shù)據(jù)集成平臺中ETL的研究與設(shè)計[D].北京:華北電力大學(xué),2007.
[3]吳遠紅.ETL執(zhí)行過程的優(yōu)化研究[J].計算機科學(xué)2007,34(1):81-83.
[4]何濤.使用ETL工具Kettle實現(xiàn)圖書館聯(lián)盟信息系統(tǒng)數(shù)據(jù)集成[J].科學(xué)咨詢,2009,(21):47-48.
An Application of Kettle,the ETL Tool to Data Integration of Micro-enterprises
Li Yun-song
(Department of Information Engineering,Chuzhou Vocational Technology College,Chuzhou Anhui 239000,China)
An approach of data integration with the open source software Kettle,an ETL tool,is proposed in this paper based on the practical needs of enterprises for data application as a solution to such problems as scattered data storage and discrepancy of data formats in the information construction of current micro-enterprises.The data integration is realized combining with practice.
ETL;Kettle;micro-enterprises;data integration
TP311.56
A
1673-2103(2014)02-0019-04*
2014-04-17
滁州職業(yè)技術(shù)學(xué)院2011年科研項目(YJY-2011-19)
李云松(1973-),男,安徽全椒人,講師,碩士,研究方向:數(shù)據(jù)庫應(yīng)用、信息系統(tǒng)開發(fā).