好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Kettle8.2的安装与使用

简单介绍

kettle是什么?

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。kettle支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率.

Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、 Linux 、Unix上运行,绿色无需安装,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

为什么使用kettle?

这里简单概括一下几种具体的应用场景,按网络环境划分主要包括:

表视图模式:这种情况我们经常遇到,就是在同一网络环境下,我们对各种数据源的表数据进行抽取、过滤、清洗等,例如历史数据同步、异构系统数据交互、数据对称发布或备份等都归属于这个模式;传统的实现方式一般都要进行研发(一小部分例如两个相同表结构的表之间的数据同步,如果sqlserver数据库可以通过发布/订阅实现),涉及到一些复杂的一些业务逻辑如果我们研发出来还容易出各种bug;

前置机模式:这是一种典型的数据交换应用场景,数据交换的双方A和B网络不通,但是A和B都可以和前置机C连接,一般的情况是双方约定好前置机的数据结构,这个结构跟A和B的数据结构基本上是不一致的,这样我们就需要把应用上的数据按照数据标准推送到前置机上,这个研发工作量还是比较大的;

文件模式: 数据交互的双方A和B是完全的物理隔离,这样就只能通过以文件的方式来进行数据交互了,例如XML格式,在应用A中我们开发一个接口用来生成标准格式的XML,然后用优盘或者别的介质在某一时间把XML数据拷贝之后,然后接入到应用B上,应用B上在按照标准接口解析相应的文件把数据接收过来;

综上3种模式如果我们都用传统的模式无疑工作量是巨大的,那么怎么做才能更高效更节省时间又不容易出错呢?答案是我们可以用一下Kettle-_-!

-------好了,介绍完毕,下面我们开始今天的主题-------

准备工作

系统环境:Windows10

Kettle是Java语言开发的,运行需要Java运行环境,如果还没安装JDK:点这里安装jdk1.8 同时参照上一篇设置JDK环境。

如果已经安装jdk,直接进行下面的步骤。

1. 下载kettle8.2

下载文件名:pdi-ce-8.2.0.0-342.zip

下载地址 :国内镜像(下载快,推荐使用)

 http://mirror.bit.edu.cn/pentaho/
https://community.hitachivantara测试数据/s/article/data-integration-kettle
https://sourceforge.net/projects/pentaho/files/Data%20Integration/ 

2.安装kettle8.2

解压kettle安装包:pdi-ce-8.2.0.0-342.zip

设置KETTLE_HOME环境变量(当然不设置也可以使用,但开启后不会自动生成.kettle目录)

右键此电脑-->属性-->高级系统设置-->环境变量-->系统环境变量下 点击新建

设置KETTLE_HOME

变量值为data-integration目录的路径

进入data-intergration目录,找到Spoon.bat文件,

修改

 PENTAHO_DI_JAVA_OPTIONS="-Xms1024m"为PENTAHO_DI_JAVA_OPTIONS="-Xms512m" 

修改后记得保存。

3、启动kettle

双击Spoon.bat启动kettle

4.kettle初体验

用kettle创建一个转换,完成将一个excel内容复制到另一个excel中,

如下图:

具体操作步骤如下:

4.1 新建一个转换

使用Excel输入

使用Excel输出

效果如下:

连接Excel输入和Excel输出

点击Excel输入,按住Shift键不放,移动鼠标到Excel输出,松开鼠标。

4.2. 准备输入文件

input.xls表格内容如下:

4.3 设置输入

双击Excel输入进入编辑步骤

文件选项下,选择表格类型,如果是.xls文件选择Excel97-2003,如果是.xlsx文件选择第则Excel 2007 XLSX(Apache POI)

点击浏览,选择输入文件所在位置

点击增加,可看到输入文件input.xls被添加到选中的文件中。

选择字段选项,点击获取来自头部数据的字段,点击确定

4.4 设置输出

双击输出

选择文件选项,点击浏览,选择输出到位置及输出文件名(例如:保存到桌面,文件名为output.xls)

去掉扩展名里的内容

选择字段选项,点击获取字段,设置Number类型的格式为0(不设置,默认输出格式为0.00),点击确定

4.5 保存转换

点击保存图标

保存

保存的文件名为:test.ktr, 后缀名.ktr中的k代表kettle,tr代表transformation

4.6 运行转换

点击运行图标

运行

点击启动

运行成功如下

可以点击Preview data看某个步骤的输出

例如:查看输入步骤的Preview data,点击Excel输入,选择Preview data

查看输出步骤的Preview data方法同上。

查看输出文件

output.xls内容如下:

内容与input.xls完全一致,说明该转换正确。

查看更多关于Kettle8.2的安装与使用的详细内容...

  阅读:29次