ETL工具Kettle使用以及与Java整合实现数据清洗

 

 

 

本文主要讲述kettle的使用和与Java整合,具体下载与安装请自行百度!

kettle有两种脚本方式:转换和工作,工作中可以添加转换.以下以转换为例.

1.新建一个转换,

2.在工作中经常用到的是表输入和表输出(从一个数据库中提炼数据,插入到另外一个数据库中进行保存)

点击核心对象 --> 输入 --> 表输入

这个节点是用来从数据库中查询数据

点击“表输入”-->新建 首先创建一个数据库连接,要让kettle知道从哪里查询数据

kettle支持多种数据库连接,因为工作中用到的是mysql,所以其余的可以自行百度了解

 

因为在使用过程中,可能数据库编码方式不一致,所以需要制定编码,在创建数据连接的时候,点击高级选项卡,如图所示(set names utf8;)

 

 在点击选项选项卡,如图所示:characterEncoding:utf8

 

 

 创建完成后,点击保存,下面就是开始写sql,kettle支持sql中油自定义参数的形式,参数要使用${}来进行创建。注意一点,要勾选下面的,替换sql语句里的变量。

 

 创建好后点击确定。

 

在创建一个节点,用来接收数据,点击输出中的表输出,创建数据库连接,和上面创建步骤一样

 

 点击输入字段映射,可自动生成对应字段。

3.创建完成后,使用shift和鼠标左键将两个节点连接在一起

 

4.启动:

  如果在查询时自定义了参数,那么在启动时需要个参数赋值:

  

 

5.还需注意一点,如果没有创建资源库,那么创建的转换/作业是要保存成脚本存放到本地,但是,如果已创建了资源库,那么脚本会错放到数据库中,不会生成文件!

6.资源库的创建

  

 

第一次需要新建资源库,如果已经创建,选择对应的资源库然后输入账号密码即可(账号密码默认admin)

在创建资源库时,点击+号,然后会出现图中的样式,我们选择第二个,会将数据生成到数据库中进行保存。

我们需要指定资源库存放的数据库连接是哪个,创建方式和上面我们创建节点的数据库连接一样,创建完后,选择数据库连接,名称和描述自己取名即可(尽量不要重复,与Java整合时需要这两个参数)

创建完成后,我们输入账号密码即可登录到资源库中。

 

posted @ 2019-09-11 10:23  斧头帮-码农  阅读(6550)  评论(1编辑  收藏  举报