- 首先安装好mysql,下载kettle
- 将下载好的压缩包解压到非中文路径的文件夹中
- 在data-integration中找到并打开Spoon.bat,打开图形操作界面
- 这时候可以做mysql的准备了,这里以尚硅谷视频里的一个简单示例为例,连接mysql数据库后,创建一个数据库和两个数据表stu1和stu2,然后向其中插入部分数据,stu2中没有’age’字段
CREATE DATABASE kettle_train
SHOW DATABASES
USE kettle_train;
SHOW TABLES
CREATE TABLE stu1(id INT,NAME VARCHAR(15),age INT);
CREATE TABLE stu2(id INT,NAME VARCHAR(15));
INSERT INTO stu1 VALUES(1001,'wang',22),(1002,'ze',21),(1003,'yu',19);
SELECT * FROM stu1
INSERT INTO stu2 VALUES(1001,'xiao');
SELECT * FROM stu2
- 下载好mysql8.0的驱动jar包,放到kettle安装文件中的lib下,重启spoon
mysql8.0jar包下载地址 - 如果打不开spoon就把Spoon.bat中的if “%PENTAHO_DI_JAVA_OPTIONS%”"" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" “-Xmx2048m” “-XX:MaxPermSize=256m”
改为
if “%PENTAHO_DI_JAVA_OPTIONS%”"" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" “-Xmx512m” “-XX:MaxPermSize=256m”
如果打开无响应那就建议你换一下jdk版本了,建议下载JDK1.8 - 我们将在kettle中实现stu1的数据到stu2,新建一个转换,在输入中找到表输入,拖到右边点开
- 新建一个链接,输入你的数据库信息,测试一下链接
测试链接错误请参考
9. SQL语句中查询stu1的所有记录作为数据流的输出,我们可以先测试一下是不是把自己刚刚插入的数据查出来了
- 现在‘表输入’就把stu1中查询的数据作为输出流输出了,我们要想它将数据输出到stu2中,我们需要在输出中选择插入/更新,然后将它们链接起来(按住shift不放拖过去)
- 点击输入输出的获取字段,如果出现stu1中的字段的话,说明表输入的流正常,然后再选择插入更新的目标是stu2表
11. 然后我们选择当stu2的id = stu1(也是表输入的输出流)的id时插入
12. 保存下当前转换
13. 运行这个转换
14. 选择启动
15. 再去表中看就发现stu2中多了两个stu1中的字段了
SELECT * FROM stu2