下载kettle
演示环境为:7.1版本。
进入kettle的官网进行下载: http://www.kettle.net.cn/d.
解压、执行kettle
1、下载完成后,解压.zip文件。
2、将文件重命名为:kettle(也可以不重命名,为了以后好分便,我是将名字改过的)。打开后文件目录如下:
3、将mysql-connector-java-5.1.48.jar添加到目录:kettle\data-integration\lib下。不添加的话会导致连接数据库不成功。
mysql-connector-java-5.1.48.jar下载.提取码:fnuv
4、运行kettle:
(1)在windows环境下的话运行:kettle\data-integration目录下的Spoon.bat文件。
(2)在Linux环境下的话运行:kettle\data-integration目录下的spoon.sh文件。
配置相关信息
1、新建转换,默认的转换名为:转换1,左侧导航栏为:核心对象。点击左侧的主对象数,切换到对应的配置页面。
2、选中DB连接,右键新建连接。
在弹出的数据库连接中进行相应的配置(演示的数据库环境为MySQL数据库)。
配置之后,点击:测试,若出现以下情况,说明数据库能够连接成功。即可以点击确定按钮,对连接进行保存。(测试之前确保数据库服务已经启动)
此时,在DB连接里面就已经有了刚刚建立的数据库连接了。
3、在核心对象下,选择输入,找到表输入,直接拖到右边区域;在输出下,找到插入更新,直接拖到右边区域。
![](https://i-blog.csdnimg.cn/blog_migrate/83a21e4d8ae2cec4339d1093a2e34c45.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bac275f2cd47b6787362bf0df21ecba5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/276aaae3bff8f877630267183ffce9f9.png)
此时,在右边空白区域中已经存在下面的图表。
在这里插入图片描述
选中“表输入”,按住Shift键,移动鼠标到“插入/更新”,此时,中间会出现一个箭头,说明“表输入”与“插入/更新”已经建立了连接。
抽取数据表中信息
演示结果为:从admin表中抽取所有数据后,存放到admin_test表,为同一数据库内
1、双击“表输入”,对数据库连接和SQL进行修改之后,点击确定(此时是将原表的信息进行抽取)。
演示配置:
2、双击“插入/更新”,对相关信息进行配置。
备注:
①中名称可自定义,没有任何要求;
②处数据库连接分为两种情况,若源信息与目标表在同一数据库中时,此处的与“表输入”中的连接名相同,若为不同数据库,则此处为目标数据库(也需要先建立DB连接);
③目标表为“表输入”中获取结果集存放的目标表;
④数量可自定义输入,具体看源表中的结果集条数(一般大于源表数据条数);
⑤点击“获取字段”则会获取所有获取目标表与“表输入”中获取的结果集字段。一般只填写唯一值进行比较就行;
⑥点击“获取和更新字段”会获取所有获取目标表与“表输入”中获取的结果集字段,更新值默认为“Y”,即当目标表与“表输入”中获取的结果集字段唯一值重复时,对相应信息进行更新,匹配不上的时候,就会对数据以新增的方式添加到目标表,一般为目标表中的所有字段;
⑦将以上配置完成之后,点击确定。
点击保存,自己定义一个名字,记住这个名字,如果要做定时抽取的话需要用到。
3、运行建立的转换。
![](https://i-blog.csdnimg.cn/blog_migrate/063c91adcb606d935daaa103ab98cc49.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a08533bae67f2727fbc472c8bcf9af74.png)
此时,“转换”已经完成,即源表的数据已经可以抓取到目标表中。
定时抽取数据表中信息
1、新建作业。在核心对象中选择通用,拖入“START”与“转换”。
![](https://i-blog.csdnimg.cn/blog_migrate/ffb6db4ba5a2c748cfcd0270011a9c1d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5927282c1314b232aeaf2e1d0065ffc6.png)
2、选中“START”,按住Shift,移动鼠标到“转换”。出现箭头表示出现出现关联。
双击“START”,对时间进行设置,确定后期定时作业的时间。
双击转换,选择保存的转换,点击确定即可。
保存并运行该作业。
点击执行即可。
至此,定时抽取数据就已经设置完成。