1. 概述编辑
1.1 版本说明
FineDataLink 版本 | 功能变动 |
---|---|
4.0.8 | - |
4.1.0 | 「脚本参数」下拉框中显示已配置参数 |
1.2 应用场景
用户希望在 FineDataLink 中调用 Kettle 任务、调用 Python 计算任务、Java 程序/ Spark 程序,或者进行数据库备份还原等操作。
1.3 功能简介
「Shell 脚本」节点通过连接指定服务器,调用服务器上的 shell 脚本执行任务,对接外部的独立数据处理过程。
例如 SVN 更新、文件运维清理、调用 Kettle 任务、调用 Python 计算任务、调用 Spark 计算任务、执行数据库备份还原等。
同时「Shell 脚本」节点支持在脚本中使用 参数概述
demo 任务详情请参见:https://demo.finedatalink.com/ 「功能示例>基础功能>脚本> SHELL 脚本-副本」
1.4 使用限制
仅支持执行Linux系统下后缀名为 .sh的脚本文。
2. 功能说明编辑
配置项 | 说明 |
---|---|
SSH 连接 | 下拉所有可选的 SSH 连接 |
脚本路径 | 填写 SSH 目标端要执行的 Shell 脚本完整路径,需注意:
|
脚本参数 | 1)指定传递给脚本的参数。需注意:
2)4.1.0 及之后版本,参数下拉框中显示已配置参数,分为任务内参数、全局参数:
|
执行超时配置 | 脚本开始执行到完全执行完毕的超时时间
|
字符编码 | 指定输出字符编码。 支持设置编码格式:
|
3. 示例编辑
3.1 配置SSH协议数据连接
由于需要在目标服务器执行指定 Shell 脚本,因此需要首先通过 SSH 远程连接至目标服务器。
配置 SSH 数据连接步骤请参见:配置SSH协议数据连接
3.2 准备 shell 脚本
例如某 shell 脚本如下图所示:
其中 $0:指所写的 shell 脚本本身的名字;$1、$2、$3分别为写入的三个参数(三个参数将在 FineDataLink 中进行赋值)。
执行脚本后,最终会输出三个参数值:参数一:存储在 fine_apple 数据表中的指定位置数据(苹果);参数二:当前任务运行时间;参数三:手动赋值 b3,如下图所示:
3.3 设置参数
由于第一个参数 $1存储在数据表中,我们使用参数赋值取出。
首先新建「参数赋值」节点,从 数据表中取出需要使用的数据(例如这里取出苹果)作为参数,如下图所示:
fine_apple 数据表如下:
第二个和第三个参数 $2、$3 直接使用参数列表,如下图所示:
3.4 设置 Shell 脚本
新建 Shell 脚本,将参数赋值节点和脚本连接,选择需要远程执行任务的目标服务器 SSH 连接位置,写入脚本路径,然后设置脚本参数,点击添加参数,将 3.3 节设置参数 b1、b2、b3 添加至脚本参数中,如下图所示:
注:如果 Shell 脚本在循环容器中使用到其遍历使用的参数时,取到的参数值为遍历过程中的值。
3.5 执行任务
点击「运行」,即可执行任务,如下图所示:
执行任务后,即可在脚本设置的输出文件中看到输出结果,即输出了三个参数,如下图所示:
3.6 如何判断脚本执行成功
详情参见:Shell 脚本执行结果说明
3.7 后续操作
若 Shell 脚本需要周期性调度执行,需要设置任务调度,详情请参见:调度计划