李云松
(滁州职业技术学院信息工程系,安徽滁州239000)
小微企业数据整合中ETL工具Kettle的应用*
李云松
(滁州职业技术学院信息工程系,安徽滁州239000)
针对当前小微企业在信息化建设过程中存在的数据存储分散、数据格式各异等问题,从企业对数据应用的实际需求出发,探讨了用ETL工具——开源软件Kettle进行企业数据整合的方法,并结合实际进行了数据整合.
ETL;Kettle;小微企业;数据整合
随着信息化融入社会经济的各个部分,用户对信息化的要求也越来越高.小微企业的需求也从早期的记账式的局部应用发展成为能够整合企业内部各业务部门的工作流程协同与决策支持.例如企业的典型应用:原料采购、入库、出库、生产组装、销售、财务核算等典型生产流程,这些生产流程需要在不同部门的不同信息系统中处理与应用数据才能够实现.从成本核算的角度看是不合理的.用户理想中的数据平台是:不同系统间能够实现数据的无缝对接,淡化或忽略不同系统间的边界.并在需要的时候实现数据的个性化推送,为企业经营者的决策支持提供帮助.这些要求使得信息系统统一建设的需求与数据整合变得迫切起来,并要求数据整合后的平台能够为各个不同业务过程提供集成化的数据支持.新的平台可以实现业务的集中访问、数据的共享以及信息的整体展示,从而将企业信息化建设从分散独立建设阶段走向应用集成和信息集成的新阶段,而整合信息系统平台的一个基础就是业务数据的整合.
目前,用户需要的数据以各种不同的格式保存并分散存储在不同部门的服务器或计算机中.这时数据平台面临的情况就是要将不同情形下的数据对象进行数据转换与归并来实现数据整合,淡化数据的格式的不同及可能的数据异常,把整合后的数据提供到应用平台中,供企业的各部门加以调用.这样可以使企业充分地使用现有的数据资源,从而减少浪费在数据采集与数据处理等方面的重复劳动,使得企业减少因此产生的各种费用,最终将增强企业对市场的竞争力及提高企业的经济效益[1].
企业用户希望看到的应用情景是:无论原始的数据是何种类型,存储在什么位置,通过数据处理整合后输出是统一的、可以更好利用的.
数据整合集成的功能主要包括:能够及时地通过存取、整合以不同形式存在的商业数据;能够在跨操作系统平台及不同的服务提供商的复杂环境下集成数据;数据整合后能够满足所在企业的核心业务应用对数据的需求;能够把不同的数据整合到一种最易于应用的格式下,便于在企业内或与外部客户共享.基于以上的功能需求,企业在实际处理过程中可以采用一些技术来实现[2].
1)数据集成服务
微软的SQL Server集成服务是原来的数据转换服务升级版本.它不仅能够执行简单的导入与导出任务,还能执行在异构数据源中进行较复杂的ETL(提取、转换、加载)任务.集成服务中不仅包含了数据转换的控制流和数据流逻辑设计工具和用于建立、执行包的工具,还包含支持自动执行数据转换所需的系统服务.
2)XML技术
XML作为被广泛用来跨平台之间交互数据的形式,它是设计用来传送及携带数据信息的扩展标记语言.XML语言提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据.它可以在数据转换中充当不同数据的最终格式.
3)专用ETL工具
ETL是信息系统集成中实现数据抽取、转换、装载的过程,它可以遵照提前制定的统一的规则进行数据集成,通过它可以进一步地提高数据的利用价值.目前主流的 ETL工具较多,如:Informatica的PowerCenter、IBM的DataStage及开源的Kettle(可译为水壶)等.它们在某些具体的功能上有所区别,可以说各有千秋,但均能够完成数据提取、数据转换和数据装载等任务[3].ETL系统的一般架构如图1所示.
图1ETL应用架构
Kettle是一个开源的ETL工具.它的作者想要达到的目的是:把任一种或多种数据源放入一个Kettle中,经过Kettle对数据的处理,从“水壶口中流出”的是按某一种指定的数据格式存储的数据.Kettle提供了一个图形化的工作界面及相应的对象设置来描述用户的任务需求,用户对Kettle内部的数据处理过程可以一无所知[4].Kettle的工作界面如图2所示.
图2 Kettle的工作界面
1)Kettle的平台优点
Kettle是以开发与应用领域里流行的Java平台为基础开发出来的,具有较好的移植性.它可以在Windows、Linux等多种操作系统平台中很好地运行.从某种角度看,虽然Kettle相对于PowerCenter和DataStage在性能上有些差强人意,但Kettle是开源的免费软件,且能够对它进行二次开发,适合数据量相对较小的小微企业应用,可以节约企业的运营成本.
2)Kettle的易用性优点
Kettle的易用性表现在以下几个方面.
第一,Kettle中Spoon可在图形化工作界面中来设计ETL的任务,并且各项任务可以通过较简单的设置达成任务需要.
第二,Kettle支持目前企业应用的数据格式,如平面数据源XBase文件、Excel文件、TXT文件、XML文件,及数据库服务提供者Oracle,Sql Server,Mysql等关系数据库中数据表格式.
第三,Kettle具有良好的管理与调度能力.Kettle包含两个核心:转换(Transformation)和作业(Job).转换主要完成对数据的基础转换,而作业可以完成对整个工作流的控制与调度.
某市某模具生产企业2008年创办,该模具企业状况是:企业的年营业收入可达600万元.现有员工42人,其中一线操作工人30人,设计人员及管理人员12人.从该公司人员规模和营业收入上看只能归入小微企业范畴.在发展的过程中为了实现管理的效率化要求,该企业先后为不同的部门购置了计算机及相关存储设备,但数据信息是分散存放,掌握在各部门管理人员手中,企业对员工掌握的数据没有提出统一管理要求.这也导致企业经营者无法及时有效地利用这些数据为生产决策提供更多的支持与帮助.
通过对企业的调研发现:两个车间的情况是数据存储在Excel电子表格中;仓库的情况是数据存储在Access数据库中.仓库在接收原料是将供货方提供的Excel数据导入到Access表中存储,按入库时间命名,并打印纸质入库单存档.而仓库向车间提供原料或向客户交货时,再将数据从Access中导出至Excel,按出库时间命名,并打印纸质出库单存档.当车间生产出产品入库时,同样需要提供Excel数据给仓库,并导入Access中的产品库存表,仓库提供纸质回单.
企业经营者想通过本次整合数据来加强企业内部管理,提升工作效率,加强资产及成本核算力度,提高现有资产利用率,比如通过对生产环节的更好掌控,减小原料及产品的库存周期.
为了节约成本和对数据的集中管理,经过转换与整合后最终的数据存储在一台服务器中,该服务器中安装MySql数据库服务.为了保证及时地获取各部门的数据,在企业内部架设局域网,达到企业内所有计算机均能够和服务器连通.这里选取企业管理中重要的环节:仓库管理中的入库、出库部分流程为例说明企业数据的转换过程.
1)数据准备
企业经营者对出库环节的要求是:“数字准确,避免差错”.这就需要整合后的数据可以实现:某产品的数量而言,车间生产的产品数量,仓库库存的产品数量,仓库出库产品数量要相符.
2)数据整合过程
下面以产品“冰箱门内嵌板”的数量管理为例来说明整合过程.在SPOON中“核心对象”选项卡中选择对象类型并拖放在工作区中,在对象间创建HOP(对象间连接),对车间和仓库的Excel、Access数据源和MySql服务器目标数据表进行设置,设置完成后即可运行,如图3所示.
图3数据整合过程设计
经过 ETL工具 Kettle整合后的数据存储在Mysql服务器的不同表中,如生产表(g_produce)、入库表(enteringwh)、出库表(delivery)、库存表(warehouse).整合后所有部门的数据均利用配套开发的信息系统中相应的功能模块来完成录入与查询,使得整个企业的生产在同一平台中共享数据.数据整合后的用户对数据的查询需求可以通过“综合查询系统”来完成,如图4所示.例如:经营者需要查阅:指定日期、产品名称和某个车间的生产产品相关信息,经营者只需要按图4中设置完成输入与选择,即可得到想要的结果.
图4综合查询系统
作为用户无需知道在企业信息管理系统中执行了“Select productname,sum(num)from g_produce where maketime =@qdate and productname= @pname and maker=@workshop”这样的SQL脚本.
小微企业想要从根本改变在经营管理中的“经营成本高、技术应用低”等困局,需要多方面的努力,比如企业经营者和管理者自身能力的提升;企业经营管理手段和技术方法的提高等.数据整合应用作为企业在信息化建设中重要的一环,它的成败甚至将会最终左右着一个企业提升市场竞争力和生存力,对于小微企业更是如此.利用ETL技术的可以帮助小微企业实现数据的整合,整合后的数据能够成为企业经营者决策和管理的支撑,可以助力小微企业成长.
[1]张靖,程希来.多源异构数据整合应用研究[J].成都信息工程学院学院2009,24(3):254-258.
[2]武剑.数据集成平台中ETL的研究与设计[D].北京:华北电力大学,2007.
[3]吴远红.ETL执行过程的优化研究[J].计算机科学2007,34(1):81-83.
[4]何涛.使用ETL工具Kettle实现图书馆联盟信息系统数据集成[J].科学咨询,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
滁州职业技术学院2011年科研项目(YJY-2011-19)
李云松(1973-),男,安徽全椒人,讲师,硕士,研究方向:数据库应用、信息系统开发.