** 废话不多说,直接开搞 **
安装
1、下载安装包
我使用的是7.1版本,所以只提供7.1版本的国内镜像下载地址https://sourceforge.net/projects/pentaho/files/Data%20Integration/7.1/
2、解压安装包
进入Kettle的安装目录直接双击spoon.bat文件,出现如下界面及说明kettle成功部署。
开始使用
1、准备工作
在开始使用之前我们首先要准备两个Jar包,也就是我们需要用到的数据库驱动包:mysql-connector-java-5.1.46.jar、ojdbc14-10.2.0.3.0.jar。
附赠Jar下载链接:https://pan.baidu.com/s/1bHQuCEkScB_T5tYkI_bRUg
提取码:epts
拿到jar包之后,我们要把jar包放进lib目录下。
2、这次真的要开始使用啦!
1、双击Spoon.bat文件启动程序。等待程序启动。。。
2、程序启动后点击新建作业
3、构建导入、导出数据源
(1)点击主对象树
(2)、新建数据源
(3)、填写数据源以及作业信息
填写完信息之后先要点击测试,测试能否正常连接数据库。
点击测试后出现下面场景则为成功:
创建Mysql数据源流程基本一致,但是。。。
注意!坑点来了:
oracle数据库本身的编码要和mysql的保持一致,同时我们需要在配置mysql连接的“选项”里面配置对应的编码,否则mysql里面导过去的表可能会出现乱码,且某些表可能会迁移失败造成job异常终止:
defaultFetchSize 500
useCursorFetch true
characterEncoding utf8
4、开始迁移
选择工具 — 向导 — 复制多表向导
这里要分别选择导入导出的数据源,选择完成点击next
然后选择需要迁移的表
选择完成后点击finish,输入名字和存储位置:
选择完成后点击finish,等待Kettle生成迁移流程。。。
loading。。
loading。。
loading。。
一段时间以后终于生成完毕了,这个时候我们看到的画面是这样的:
这时候点击左上角的三角,点击开始:
选择开始节点:
点击执行,默默等待就搞定了。。。
工作窗口下方就是日志窗口,在这里可以看到运行的流程:
我碰上的情况:
其他表都成功了,只有其中某张表失败了(报错截图先不贴了,大概意思就是Mysql链接失败什么的)
这时候双击失败的节点,会弹出一个窗口,是它要使用的创建表的sql:
可以拿着这个sql单独去数据库中执行一下即可,然后选择下一个复制数据的节点,点击指定节点执行按钮:
核实弹出窗口中的start job at 下拉框中选中的是否是你选择的节点,如果是,执行就好啦。