kettle-简单同步数据任务

部署kettle,由于可能对JDK版本有要求,所以我用的是低版本的

下载下来的包pdi-ce-6.1.0.1-196.zip
加压之后目录结构:pdi-ce-6.1.0.1-196\data-integration
需要注意的是 这里比较重要的执行文件是Spoon.bat(sh)、Kitchen.bat(sh)。
Pan.bat(sh)不常用,但是也留意一下

由于需要连接数据库(Oracle),因此需要将Oracle中ojdbc14.jar拷贝到data-integration\lib目录下作为驱动

然后给相应的文件赋可执行权限,chmod +x xxx.sh
或者最简单的就是 chmod 777 -R /xxx目录

图形化界面:
点击Spoon.bat在windows下进行转换和作业
界面如下:
这里写图片描述
转换是ktr,做成是kjb后缀
开发流程:
1.开发转换(ktr)
文件->新建->转换
这里写图片描述
右键DB连接,选择新建,设置数据库,要设置两个,一个作为源数据,另一个作为目标数据
这里写图片描述
或者新建数据源
这里写图片描述
配置方式是xg/type=yyyy(x/xx=yyy)
这里写图片描述
jndi名称为配置中的前面名称

可以测试一下:
这里写图片描述
切换到转换tab,选择核心对象,输入->表输入
这里写图片描述
双击表输入
这里写图片描述
选择输出->插入更新
这里写图片描述
双击插入更新
这里写图片描述
如果数据库选择的是JNDI方式,这里的目标模式可以不写
连接两个节点
选择第一个节点,按住shift,拖动到第二个节点
点击左上角,保存ktr,转换

测试转换
这里写图片描述
这里写图片描述
在转换执行的过程中,单击插入更新节点可以显示执行过程(状态)
这里写图片描述
测试结果:
这里写图片描述
2.开发作业
文件->新建->作业
选择通用下的start,依次按图所示拖拽到右侧作业kjb工作区
这里写图片描述
其中邮件是邮件中的发送邮件
这里写图片描述
点击转换,配置转换引用位置
这里写图片描述
配置邮件
这里写图片描述
这里写图片描述
这里写图片描述
保存kjb
测试结果
运行中:
这里写图片描述
最终结果:
节点上有对号,表示运行成功
这里写图片描述

部署:

最终上传到linux服务器的时候,将ktr、kjb放在同一位置
通过kitchen.sh -file命令设置kjb读取路径

可执行的sh如下:
测试环境暂时用不到一下三行

export JAVA_HOME=/usr/java/jdk1.7.0_17
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

主要是以下

#!/bin/bash
export LANG=en_US.UTF-8
kjb_path=/weblogic/start/pdi-ce
sh_path=/weblogic/start/pdi-ce/data-integration
nohup ${sh_path}/kitchen.sh -file=${kjb_path}/user_info.kjb >> ${kjb_path}/kettle_$(date +%Y%m%d).log &
tail -f ${kjb_path}/kettle_$(date +%Y%m%d).log

其中

#!/bin/bash非常重要,可执行文件必须有
因为是用crontab执行定时任务,会出现中文乱码,因此设置字符集
设置变量,引用要用${}

crontab -e 编辑当前的定时任务
crontab -l 查看定时任务列表

设置定时任务:
每天6点执行
这里写图片描述

如果可执行的sh文件是在windows下编辑的,上传到linux执行时会出现报错:
–bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory

问题原因:
其实这是由于在windows下编辑或者写的sh文件,由于sh文件的格式为dos格式。而linux只能执行格式为unix格式的脚本。
因此执行转换即可
1.安装dos2unix
apt install dos2unix
2.转换格式
dos2unix xxx.sh

参考地址:
https://blog.csdn.net/lan12334321234/article/details/70049526?locationNum=3&fps=1
https://blog.csdn.net/wy_97/article/details/78525533
https://blog.csdn.net/shuaishuai1234/article/details/82178731

下载地址:https://community.hitachivantara.com/docs/DOC-1009855
参考地址:https://sourceforge.net/projects/pentaho/

中文参考地址:https://www.oschina.net/p/pentaho
配置文档参考:https://blog.csdn.net/github_38806262/article/details/78404760
JNDI配置参考:https://blog.csdn.net/u012848709/article/details/79339419/

猜你喜欢

转载自blog.csdn.net/shuaishuai1234/article/details/82182704