Kettle可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定,不过在使用之前需要准备环境。kettle是一款纯java编写的开源ETL工具,需要jdk环境支持
一:安装jdk
参考:https://blog.csdn.net/ddddddd1111111/article/details/84334251
二:部署kettle
下载地址:https://sourceforge.net/projects/pentaho/files/Data Integration/
上传包pdi-ce-7.1.0.0-12.zip
1、解压kettle到需求目录修改可执行文件权限为可执行:
[root@localhost lampp]# mkdir kettle
[root@localhost lampp]# mv pdi-ce-7.1.0.0-12.zip kettle/
[root@localhost lampp]# cd kettle
[root@localhost kettle]# unzip pdi-ce-7.1.0.0-12.zip
[root@localhost kettle]# rm -rf pdi-ce-7.1.0.0-12.zip
[root@localhost kettle]# cd data-integration/
[root@localhost data-integration]# chmod +x *.sh
2、测试安装是否成功
[root@localhost /]# cd /opt/lampp/kettle/data-integration/
[root@localhost data-integration]# ./kitchen.sh
出现下面的信息说明安装成功:
备注:
kitchen.sh:执行job
pan.sh:执行转换
三:运用crontab执行kettle程序
1、创建kettle工作目录
[root@localhost opt]# mkdir -p /opt/kettle/kettle_file/job
[root@localhost opt]# mkdir -p /opt/kettle/kettle_file/transition
[root@localhost opt]# mkdir -p /opt/kettle/kettle_sh
[root@localhost opt]# mkdir -p /opt/kettle/kettle_log
2、在/opt/kettle/kettle_sh目录下创建执行文件vim shine.sh
#!/bin/sh
cd /opt/lampp/kettle/data-integration/
export JAVA_HOME=/opt/lampp/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
./pan.sh -file=/opt/kettle/kettle_file/transition/hpt_dept.ktr >>/opt/kettle/kettle_log/shine_$(date +%Y%m%d).log &
3、修改文件权限
chmod +x shine.sh
4、使用windows版界面工具创建ktr并测试成功后上传到对应目录
5、 crontab执行定时执行,1分钟执行一次
systemctl restart crond
systemctl enable crond
四:数据库驱动
把数据库驱动放多对应目录下:
/opt/lampp/kettle/data-integration/libswt/linux/x86_64
等待程序自动执行或手动执行下面命令进行验证:
./pan.sh -file=/opt/kettle/kettle_file/transition/hpt_dept.ktr >>/opt/kettle/kettle_log/shine_$(date +%Y%m%d).log
查看定时任务是否执行:
tail -f /var/spool/mail/root