Kettle初步测试

2018-12-17  本文已影响0人  郑码

需求

从MS Sql Server迁移数据到MySQL中
环境信息:

  1. Window10 64位
  2. pdi-ce-8.2.0.0-342
  3. SqlServer2017 Docker版本
  4. MySQL5.7.23 Docker版本

操作

软件准备

pdi-ce-8.2.0.0-342.zip版本下载
解压出该版本,运行Sqoon.bat即可

image.png

流程配置

新建转换

打开Kettle软体,新建一个转换任务,“文件”-->“新建”-->“转换

kettle-2.png

配置SqlServer源数据库

在“核心对象”-->“输入”-->“表输入”,将“表输入”图标直接拖拽到右侧区域


kettle-2-1.png

没有SqlServer jar包导致JDBC测试失败,解决方法就是下载mssql-jdbc-7.0.0.jre8.jar存入到lib目录下。


kettle-2-2-error.png kettle-2-2-ok.png

获取目标表


kettle-2-3-1.png

配置“字段选择”

过滤,转换字段信息

kettle-3-1-1.png kettle-3-1-2.png

双击“字段选择”图标打开配置界面

“选择和修改窗口”:可以修改字段名称

“移除”:可以选择不需要传输数据的列,选择后将不会传输此字段里的值到目标表,我们这里选择的是TS字段,因为此字段是timestamp类型数据(时间戳)

“元数据”:在此可以对源数据表中的所有字段进行转换设置,比如类型,长度,精度,字符集等,如果想一次性将源表的所有字段均加载进来的话,点击右侧“获取改变的字段”。

kettle-3-1-3.png kettle-3-1-4.png

配置“插入/更新”---目标数据库

kettle-4-1-1.png kettle-4-1-2.png
  1. 新建我们需要导入的目标数据库连接,按照上面的步骤教程新建连接,

  2. “浏览”选择需要导入数据的table

  3. 在此区域内选择查询数据时依据的字段,其实也就是根据此字段来判断两个表中的数据是否是同一笔记录

  4. 点击“获取和更新字段”可以在“更新字段”区加载所有字段,注意选择是否所有字段都需要更新数据,我在这里将carid的更新状态改成了Y。

kettle-4-1-3.png

校验连接情况

kettle-4-2-1.png

出现报错信息,根据详细,检查刚才的字段配置内容


kettle-4-2-1-error.png

得到问题原因


kettle-4-2-2-change.png kettle-4-2-3.png kettle-4-2-3-ok.png

测试执行任务

kettle-5-1-1-ok.png

执行结果

源数据库


sqlserver-1.png

目标数据库


mysql-1.png

定时任务

新建作业


kettle-5-1.png

部署作业


kettle-5-2.png

设置执行频率


kettle-5-3-1.png
选择执行任务项
kettle-5-3-2.png kettle-5-4.png
上一篇 下一篇

猜你喜欢

热点阅读