Linux服务器使用kettle进行数据采集及入库

时间:2024-03-15 07:27:10

1,安装JDK环境,这里不多说

2,新建kettle目录,下载压缩包,这里用的是pdi-ce-7.1.0.0-12.zip

3,解压,unzip pdi-ce-7.1.0.0-12.zip

4,验证是否正常压缩,输入/kettle/data-integration/kitchen.sh,出现帮助信息表示正确

5,在kettle目录下上传Windows环境新建好的作业及转换(我前面有发一篇Windows使用kettle的帖子)

这里需要注意的是:在上传的作业也就是kjb文件里面的这条属性

<filename>${Internal.Entry.Current.Directory}/数据采集.ktr</filename>

有些可能写死的路径,如果是写死的路径就改成你服务器上传文件的路径

6,新建start.sh文件

vim start.sh 并输入以下内容

/kettle/data-integration/kitchen.sh -file=/kettle/work/作业.kjb -level=Detailed -logfile = /kettle/work/log.log

这里的作业换成你上传的作业名称

7,执行,输入sh start.sh,如下图所示则成功

Linux服务器使用kettle进行数据采集及入库

Linux服务器使用kettle进行数据采集及入库

最后补充点,如果你是用java调用kettle的话需要注意以下几点:

1,插件和kjb文件的路径问题

因为要在java代码里设置插件plugins就是/data-integration/plugins路径和kjb执行脚本文件的路径,所以你要跳出代码去Linux环境里找到他们,所以在kjb里的属性<filename>${Internal.Entry.Current.Directory}/数据采集.ktr</filename>要写死../然后才是你插件和文件的路径,比如<filename>../kettle-web/work/数据采集.ktr</filename>,插件的路径为../kettle/data-integration/plugins

2,在Linux环境中使用java代码调用kettle比在Windows环境中调用要多添加几个jar包,如下:jersey-multipart.jar,jersey-bundle.jar,jersey-json.jar,jersey-json在kettle的lib中没有,可以去网上下载,其他的包在kettle的lib中的都能找到