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定时任务

原文地址:https://www.cnblogs.com/ares-core/p/14012235.html