一:kettle下载
下载网址:https://jingyan.baidu.com/article/9f7e7ec0ee1c656f2915546d.html 国外下载速度很慢,可以在国内镜像上下载,但版本只到kettle7
国内镜像 http://mirror.bit.edu.cn/pentaho/Data%20Integration/
二:kettle安装
kettle是绿色免安装直接解压就可以了,其中Windows系统启动spoon.bat 其他系统linux启动spoon.sh
启动成功后界面如下:
三:kettle使用
(一).连接MySQL,准备mysql驱动包
准备mysql的驱动包,放到D:\software\data-integration\lib下即可,记得要重启kettle客户端,不然还是会报下面的错,另外要注意mysql驱动包和mysql要尽量一致,我的mysql版本是5.6.39 第一次用mysql-connector-java-5.0.8.jar获取字段失败,改成mysql-connector-java-5.1.38.jar就可以了,这里大家先注意一下,后面我会具体说到
(二).启动spoon.bat
(三).转换
3.1新建转换
3.2.连接数据库
3.2.1 方式一:以jdbc方式连接 选择具体的数据类型
点击测试按钮,出现下面的对话框,说明连接成功
3.2.2 方式二:以jdbc方式连接 但不选择具体的数据类型
3.2.3 方式三: 以jndi方式连接
注意:jdni的名称来自E:\software\kettle\pdi-ce-8.2.0.0-342\data-integration\simple-jndi下的jdbc.properties这里我创建了两个数据库
3.3.表输入
选择核心对象-输入-表输入,将表输入拖到转换1界面
3.3.1对表输入进行编辑 直接双击,出现下面的窗口,选择数据库,填上sql语句,可以手写sql,也可以点击“获取sql查询语句”的按钮
3.4.表输出
3.4.1在核心对象中拖入插入/更新组件
3.4.2 将按住shift从表输入到插入/更新
3.4.3 编辑插入/更新组件,表字段是指当前目标表的子弹,流字段是指源表中的字段,关键字一般填表里面的主键字段
3.4运行转换
结果:可以看到schoola数据库student表中的数据被抽到schoolb数据库student表中
4.作业
4.1新建作业
4.2 拖动控件“START”和“转换”
4.3 设置start规则
每隔3分钟
4.4 编辑转换
选择前面的转换文件,转换文件的后缀为.ktr
4.5 运行作业
按住shift键点击start控件指向转换控件
点击运行按钮后,可以看到运行日志