1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.28 | 新增「Python脚本」节点 |
4.1.0 | 「脚本参数」下拉框中显示已配置参数 |
4.1.3 | 增加指定 Python 版本的功能 |
1.2 应用场景
用户的许多数据处理是通过 Python 脚本实现的,希望 FineDataLink 支持调用 Python 脚本。
1.3 功能简介
新增「Python脚本」节点,支持直接调用 Python 脚本。如下图所示:
2. 使用限制
1)Python 脚本若放在 Linux 或者 mac 时,脚本路径和参数值中禁止使用单引号'。
2)Python 脚本若放在 Windows 时,脚本路径和参数值中禁止使用双引号"。
3. Python 脚本与 Python 算子区别
区别 | Python 脚本 | Python 算子 |
---|---|---|
应用场景 | 在定时任务中调用已有的 Python 脚本 | 在数据开发过程中,对于一些复杂的数据处理(比如使用可视化算子或者 SparkSQL 较难实现的),需要在「数据转换」节点中使用 Python 脚本处理数据 |
使用位置 | 属于 步骤流 ,可与「数据转换」、「数据同步」等节点一起使用 | 属于 数据流 ,在「数据转换」节点中使用 |
使用过程 | 通过 SSH 数据连接,直接调用 Python 脚本: | 配置 Python 环境后,在「Python算子」中编写 Python 代码实现 |
4. 示例
4.1 场景模拟
Python 脚本中保存着学生成绩信息:
给 Python 脚本输入学生姓名(本文示例中参数值为 John)参数,取出该学生成绩,将取出的数据输出到 test.txt 文件中,test.txt 为自动创建的文件,且与 Python 脚本在同一路径下。
示例数据:Python脚本.zip、name.xls
注:本文的远程服务器中,Python 版本为 2.7.5,用户若按照本文示例操作,可能需要修改脚本。
4.2 新建 SSH 数据连接
使用「Python脚本」节点执行 Python 脚本前,需要先配置 SSH 协议数据连接,远程连接目标服务器。如下图所示:
4.3 取出学生姓名并作为参数输出
1)取出学生姓名数据。如下图所示:
2)将取出的学生姓名数据作为参数输出。
Python 脚本中接收的参数名为 w,所以此处参数名也为 w ;取出第一列所有行的数据;默认值只是为了下游节点提前预览设置的,实际运行时不会用到这个默认值,直接从右侧的「参数预览」中复制即可。
如下图所示:
4.4 设置 Python 脚本节点
拖入「Python脚本」节点,设置要执行的 Python 脚本文件,添加 4.3 节设置的脚本参数。如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
Python 命令 | 用于指定运行脚本时使用的命令,下拉框中可选择 Python、Python2、Python3 |
SSH 连接 | 下拉所有可选的 SSH 连接 |
脚本路径 | 填写 SSH 目标端要执行的 Python 脚本完整路径:
|
脚本参数 | 1)指定传递给脚本的参数:
2)4.1.0 及之后版本,参数下拉框中显示已配置参数,分为任务内参数、全局参数:
|
命令超时配置 | 脚本开始执行到完全执行完毕的超时时间,默认选择无限制 执行X秒后超时中断,X值的范围:0~1000000 |
字符编码 | 指定输出字符编码,默认为UTF-8 下拉框内容:
|
4.5 运行结果
1)点击「保存并运行」按钮,任务执行成功后,如下图所示:
2)可看到 Python 脚本所在的路径下自动生成了 test.txt 文件,文件内容如下图所示: