1. 概述
1.1 版本
FineDataLink版本 |
---|
4.1.9.3 |
1.2 应用场景
用户如果有历史的 Kettle 任务想要统一用 FineDataLink 进行管理,使用 FineDataLink 对 kettle 任务进行调用。
1.3 功能简介
支持对单个 kettle 任务的便捷调用。
支持展示 kettle 任务运行日志。
2. 插件介绍
注:安装插件前需要确认工程注册了该插件功能点,功能点参见节点说明。
2.1 插件安装
点击下载插件:请联系技术支持获取插件,技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。
插件安装方法参照:插件管理 注:由于插件未上传至帆软商城,用户当前只能使用本地安装和手动安装方案。
2.2 配置SSH协议数据连接
配置SSH协议数据连接,建立 FineDataLink 与需要执行的 kettle 文件所在服务器的联系。
2.3 使用 Kettle 调用插件
配置项 | 说明 |
---|---|
SSH连接 | 显示所有可选 SSH 连接 |
脚本路径 | 填写SSH目标端要执行的kettle任务的完整路径。 举例:/home/kettle/data-integration/test.kts 如果 Kettle 的可执行文件不在 SSH 连接的 PATH 环境变量中指定的目录中,那么需要将Kettle 的 bin 目录添加到PATH中。
|
脚本参数 | 指定传递给脚本的参数。 该名称与 Kettle 的转换或作业设计器中定义的参数名字相匹配。 注:脚本参数传入脚本的顺序为自上而下。 |
命令超时配置 | 脚本开始执行到完全执行完毕的超时时间。
|
字符编码 | 指定输出字符编码。 下拉框内容:
|
3. 示例
3.1 配置SSH协议数据连接
配置SSH协议数据连接,建立 FineDataLink 与需要执行的 kettle 文件所在服务器的联系。
3.2 准备 kettle 脚本和运行环境
例如某需要执行的 kettle 脚本如下:excel-txt.ktr
xls 文件:千分位分隔符.xls
其中 ${filename} 为输入的文件的路径(此参数将在 FineDataLink 中进行赋值)。
调用 kettle 任务后,最终会将 excel 格式的文件转换为 txt 格式并输出。
要执行的 kettle 文件所在服务器需要安装 kettle 。
同时如果 Kettle 的可执行文件不在 SSH 连接的 PATH 环境变量中指定的目录中,那么需要将 Kettle 的 bin 目录添加到 PATH 中。需要指定环境变量,编辑环境变量文件 ./bashrc 此处示例为 centos 服务器,用户需根据自己的情况修改添加 kettle 部署的路径,如下图所示:
export PATH=“$PATH:/data/data-integration”
注:此处 kettle 部署在 /data/data-integration 路径下,用户需要根据实际情况修改。
注:若 kettle 安装在 Mac 中,则可能需要直接在~/.ssh/environment文件里指定路径,例如:
4. 操作步骤
4.1 设置脚本路径
新建数据开发定时任务,进入编辑界面后,将「Kettle调用」脚本拖入开发界面,如下图所示:
选择需要执行 kettle 文件的服务器数据连接,并输入 kettle 文件存放绝对路径,如下图所示:
4.2 设置脚本参数
设置脚本参数,由于 kettle 文件中使用了参数 ${filename},因此需要创建静态参数,参数值为需要读取的 excel 文件路径,如下图所示:
然后将参数添加至脚本参数中,如下图所示:
注:kettle 参数名称需要与 kettle 文件中的名称一致。
4.3 运行任务
然后即可运行任务,运行同时会打印出日志,如下图所示:
注:若用户需要详细的查看输出的日志,可以参考「日志简介」设置输出日志级别为 INFO 。
然后即可看到执行完成后输出的 txt 文件,如下图所示:
5. 注意事项
Windows 环境下调用的 kettle 脚本运行报错:The transformation path D:/kara/kettle_job/excel-txt1.ktr is invalid, and will not run successfully.但是提示节点运行成功,如下图所示:
需要修改 spoon.bat 脚本,java 进程退出信号量作为 bat 脚本信号量返回,增加如下代码:
set exit_code=%errorlevel%
exit %exit_code%