1. 概述编辑
1.1 版本
| FineDataLink 版本 | 功能变动 |
|---|---|
| 4.0.29 | 「数据转换」节点中新增「Python 算子」 |
1.2 应用场景
在数据开发过程中,对于一些复杂的数据处理(比如使用可视化算子或者 SparkSQL 较难实现的),需要在「数据转换」节点中使用 Python 脚本处理数据。
1.3 功能简介
「数据转换」节点中新增「Python 算子」,可调用 Python 脚本进行复杂数据处理。
2. 使用须知编辑
2. 前提条件编辑
使用「Python 算子」,需要准备 Python 环境。
2.1 确定 Python 版本
使用 Python 3.X版本。
2.2 安装必备包
注:用户需根据实际环境修改下方语句。
Linux & Windwos 环境中:
1)安装 pandas
pip3 install pandas
2)安装 datetime
pip3 install datetime
2.3 FineDataLink 配置 Python 路径
2.3.1 默认
默认情况下会使用环境变量中的 Python,不需要用户额外配置 Python 路径。
Linux 系统中若能识别python3命令行,FDL 也能识别。
Windows 若能识别python命令行,FDL 也能识别。
2.3.2 自定义
若用户希望自定义 Python 环境,不使用系统默认 Python ,可以通过配置文件的方式指定 Python 。
在tomcat\webapps\webroot\WEB-INF\assist下新建 python\config 文件夹,放入 python.properties 文件,不需要重启。
python.properties 文件:文件示例.zip
1)Linux 示例
python.cmd=/home/python/bin/python3
2)Windows 示例
python.cmd=E:\\Python3x\\python.exe
注:Windows 中路径为双反斜杠 \\ 。
2.4 注意事项
1)目前 Python 线程最多 5 个,超过 5 个会排队。
2)如果单个 Python 线程占用内存过大可能会挂掉,但是不会引起 FDL 宕机。
3. 示例编辑
本章示例:取出 book 表中数据,使用 Python 脚本为每一本书生成编码。
3.1 取出 book 表数据
1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「DB表输入」算子,取出 book 表数据。如下图所示:

3.2 设置 Python 算子
1)拖入 Python 算子,编写脚本,为每一本书生成编码。
注:DB表输入需点击生成。
import pandas as pd
# 必须使用 pandas 库
input = DB表输入
output = input.assign(书本编码=range(1, len(DB表输入.title) + 1))
# 添加新列并赋值给默认输出变量
# 使用output变量指定当前算子的输出

2)点击「数据预览」,可看到生成的「书本编码」列。如下图所示:

3.3 输出数据
1)拖入「DB表输出」算子,将数据输出。如下图所示:

2)点击右上角「保存」按钮。
3.4 效果查看
任务执行成功后,生成的表数据如下图所示:


