跳到正文
八一菜刀
返回

Kettle实战100篇 第1篇 介绍与安装

简介

Kettle是一款由纯Java语言开发的免费开源的ETL工具,ETL即是Extract-Transform-Load的缩写,用来描述将数据从来源端通过萃取(Extract)、转换(Transform)、加载(Load)到目标端的过程,通常用于数据清洗、数据迁移等.

下载地址:https://sourceforge.net/projects/pentaho/files/

GitHub地址:https://github.com/pentaho/pentaho-kettle

Java doc地址:https://javadoc.pentaho.com/

文档地址:https://help.pentaho.com/

转换组件文档:https://help.pentaho.com/Documentation/8.2/Products/Data_Integration/Transformation_Step_Reference

作业组件文档:https://help.pentaho.com/Documentation/8.2/Products/Data_Integration/Job_Entry_Reference

安装

JDK安装

由于Kettle是由Java语言开发,因此,我们在安装Kettle之前需要安装Java运行所需环境JDK

window环境中的安装这里不再多做说明,只需要下载JDK的exe可运行文件,一直点击下一步即可安装,安装成功后再设置JAVA_HOME环境变量即可,非常简单

在Linux环境中,我们首先需要下载JDK的安装文件,本篇博客中安装的版本为JDK1.8

解压文件

tar -xvf jdk-8u144-linux-x64.tar.gz -C /usr/local/java

配置环境变量vim /etc/profile,编辑加入JDK路径

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

编译

source /etc/profile

查看是否安装成功

[root@izbp1ad1jbc6ftdure2mpnz ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

Kettle安装

Kettle实战100篇系列博客下载的版本是当前最新版本Pentaho 8.3

下载目录地址:[https://sourceforge.net/projects/pentaho/files/Pentaho%208.3/client-tools/](https://sourceforge.net/projects/pentaho/files/Pentaho 8.3/client-tools/)下的pdi-ce-8.3.0.0-371.zip

目前我们都是在Windows环境中使用KettleSpoon图形化界面程序进行ETL的开发,

Kettle是用Java开发的纯绿色版程序,因此我们只需要将下载的文件解压到指定目录即可,

我本机解压目录D:\Users\xiaoymin\Bin\data-integration\data-integration 8.3

解压完成后,我们需要关注Kettle的几个关键目录和文件

核心

我们通过上面的步骤即可安装成功Kettle,此时我们可以运行Spoon程序创建转换或者作业,初始化界面如下:

Kettle中两个核心的组件服务:转换作业

牛刀小试

由于本系列博客是以实战为主,因此很多Kettle的概念会以实战中的篇幅中介绍,不单独说明,当然,对于某些核心的组件会单独再博客中说明

需求

我们访问CSDN的博客RSS地址:https://blog.csdn.net/u010192145/rss/list,响应内容如下:

目前我们需要通过网络访问该RSS地址,然后解析XML最终输出到Excel文件中,从XML中剥离出来id、标题、发布时间、作者、简介等字段

这个过程涉及到了请求RESTful地址,数据解析,数据转换(输出到Excel),因此我们通过Kettle中的转换来实现此过程

实战

生成记录

从Kettle的转换核心对象树中拖拽生成记录组件,定义url地址,如下图:

REST client组件

第二步是需要用到REST client组件,帮助我们发送地址请求获取得到XML的内容,如下图:

GET data from XML

我们通过REST组件请求得到了XML内容,因此我们需要使用GET data from XML组件来接收,接收后定义输出映射字段

Excel 输出

通过上一个组件的字段映射定义,接下来我们就可以将请求得到的XML结果循环输出到Excel中了,选择对象树中的Excel 输出组件,设置相关属性,如下图:

运行

整个转换过程创建完后如下图:

此时,我们点击Spoon界面的运行按钮,运行我们的转换,输出日志:

此时,我们打开已经下载好的本地Excel文件,看是否将Xml的结果已经导入到本地

至此,整个过程已经完成了,如果你是开发人员的话,通过Kettle来完成此操作会大大提升你的工作效率

因为,假设您是一名Java开发人员,你需要用到的技术栈如下:

但是通过Kettle来操作的话,上面的技术栈我们就可以省略了(虽然我都会:),无奈~~~)

看到这里,您是否想跃跃欲试呢?


分享文章:

上一篇
Kettle实战100篇 第6篇 转换核心对象字段选择组件
下一篇
Kettle实战100篇 第2篇 调用RESTful接口导入JSON结果入库