51Testing软件测试网_想做大数据测试?这个工具不能不知道(上)

由 郎显磊 发表于2021-10-13 12:00:00


摘要


测试数据在项目开发、测试过程中占据着重要的作用,随着我行信息系统建设速度的加快,软件更新速度的不断提升,对数据交付时间和数据格式的要求也越来越高。


对于数据库大表来说,无论是脱敏还是导出的速度,往往不能满足实际需要,Kettle作为业内最著名的开源ETL(数据抽取)工具,可直接对数据库表进行操作并以多种格式进行导出、格式规范、效率较高,能很好的满足使用过程中的需要。


本文对Kettle在实际中具体的使用与实践进行重点介绍。


常用ETL工具现状简介


ETL是Extract-Transform-Load的简写,用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)到目的端得过程。


当数据来自不同的主机,若单独使用SQL语句进行处理的话,效率就会比较低,当处理海量数据的时候还会占用较多的数据库资源,影响数据库的性能,另外还需要整理成统一的格式,也比较麻烦。这些问题就可以用ETL工具进行解决,具有支持异构连接、图形界面操作方便、处理速度快等优点。


目前业内口碑较好的ETL工具有Datastage、Infomatica、Kettle。


Datastage由IBM公司开发,目前是业内最专业的商用ETL工具,Infomatica也是专业的ETL商业工具软件,Kettle由纯Java编写,是最著名的开源ETL工具产品,下图是三种工具的比较。


开源数据抽取工具Kettle介绍


Kettle架构


Kettle是一个由Java编写组件化的集成系统,是一个开源的ETL工具,可以跨平台运行,包括如下几个主要部分。


Spoon


图形化界面工具(GUI方式),Spoon允许你通过图形界面来设计Job和Transformation,可以保存为文件或者保存在数据库中。


也可以直接在Spoon图形化界面中运行Job和Transformation。


Pan


Transformation执行器(命令行方式),Pan用于在终端执行Transformation,没有图形界面。


Kitchen


Job执行器(命令行方式),Kitchen用于在终端执行Job,没有图形界面。


Carte


嵌入式Web服务,用于远程执行Job或Transformation,Kettle通过Carte建立集群。


Encr


Kettle用于字符串加密的命令行工具,如:对在Job或Transformation中定义的数据库连接参数进行加密。


基本概念


Transformation


定义对数据操作的容器,数据操作就是数据从输入到输出的一个过程,可以理解为比Job粒度更小一级的容器,我们将任务分解成Job,然后需要将Job分解成一个或多个Transformation,每个Transformation只完成一部分工作。


Step


是Transformation内部的最小单元,每一个Step完成一个特定的功能。


Job


负责将Transformation组织在一起进而完成某一工作,通常我们需要把一个大的任务分解成几个逻辑上隔离的Job,当这几个Job都完成了,也就说明这项任务完成了。


Job Entry


Job Entry是Job内部的执行单元,每一个Job Entry用于实现特定的功能,如:验证表是否存在、发送邮件等。


可以通过Job来执行另一个Job或者Transformation,也就是说Transformation和Job都可以作为Job Entry。


Hop


用于在Transformation中连接Step,或者在Job中连接Job Entry,是一个数据流的图形化表示。


部署环境搭建


本文采用Windows2012作为Kettle部署环境,SUSE12作为数据库环境,采用Oracle作为连接数据库。


Kettle安装


Kettle由Java语言编写,首先要配置Java语言的软件开发工具包JDK,ORACLE官网下载JDK安装包,并配置环境变量,本文不再赘述。


从Kettle官网下载Kettle工具包,本文采用8.2.0.0-342版本。配置环境变量,找到Kettle存放路径,在环境变量里新建系统变量添加Kettle的安装路径。


完成后将下载好的Kettle工具包解压到安装路径中,找到spoon.bat文件,Kettle是免安装的,所以直接双击运行即可。


配置连接数据库


使用jdbc连接oracle数据库,将数据库的监听打开,并复制oracle安装目录下对应的jar包放在Spoon目录下即可(本文为D:pdi-ce-8.2.0.0-342data-integrationlib)。


重新启动Spoon,点击数据库连接,进行配置,可以看到连接成功了,如图所示。


End

-往期回顾-
//
//
“阅读原文”参与调查问卷吧!

作者:郎显磊

公众号:51Testing软件测试网

发布时间:2021-10-13 12:00:00

发表评论

您的电子邮箱地址不会被公开。