Kettle-02-转换
前文中在Centos7中安装了Kettle,本文演示怎么在Centos7中执行一个数据转换(转换的感念),即实现:
创建一个定时任务,1分钟执行一次,将Oracle数据库DB1中的表TB1中的数据,同步到Oracle数据库DB2中的表TB2中
1、创建一个转换文件
由于Kettle的可视化操作界面,需要安装GUI桌面,但是我们不会在服务端的Centos上安装桌面环境的,所以需要在有桌面环境Centos上,或者是windows电脑上来创建转换文件,另一种思路是在Centos7上安装vnc服务,但是实践过程中发现,离线安装vnc服务简直是不可能的,有能力的可以自行尝试,下面采用在window电脑下,创建转换文件。
1.1 安装Java运行环境,并配置环境变量
自行Google或百度
1.2 安装Kettle程序
下载
http://mirror.bit.edu.cn/pentaho/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip
解压后会得到一个data-integration目录,当然和上篇文章中Centos7服务器内的程序是一样的,因为Kettle是跨平台的
1.3 启动
右键 Spoon.bat 以管理员的方式运行,等待启动,启动时间有点儿长,耐心等待,启动界面如图
1.4 新建转换
文件->新建->转换
选择输入->表输入 ,双击后右侧区域会出现一个输入对象,这个对象就是数据传输的数据源对象
然后选择输出->插入/更新,双击之后会出现一个插入/更新对象,这个就是要同步的目标对象
然后按住SHIFT拖动【表输入】到【插入/更新】建立关系
接下来配置【输入】对象,双击【输入】唤起配置对话框
先点击新建数据库链接
然后输入数据源的查询语句,点确定
设置插入/更新目标,双击【插入/更新】对象,设置完点确定
至此一个简单的转换已经设置好了
1.5 保存运行
CTRL+S保存到一个目录内,命名【DB1-DB2.ktr】,ktr文件就是Kettle的转换配置文件,当然他也是跨平台的,可以放到linux中使用
保存之后点击运行按钮,查看运行情况
如果失败,把对应数据库的ODBC链接所需的jar库放到Kettle的lib目录即可
查看数据已经同步过来了
至此一个简单的转换就做完了
下一篇说怎么把这个转换,做成linux定时任务