【摘要】
集算器 SPL 集成了对 python 程序的调用,也提供对建模算法接口支持。具体开发要求、使用详细情况,请前往乾学院:SPL 中调用 Python 程序!
集算器是强大的数据计算引擎,但目前对于机器学习算法的提供还不够丰富。而 python 中有许多此类算法。借助 YM 外部库,就可以让集算器 SPL 调用 python 写的代码,从而弥补这一不足。
下面具体说明:
1.SPL 与 python 环境配置
2.python 模块开发规范要求
3.ym_exec 接口调用
4.建模算法模块使用
SPL、python、接口关系示意图:
SPL 中调用 ym_exec 接口,将参数传递给 python 下的 apply() 接口,apply 调用 python 程序处理后返回结果给 SPL。
1. SPL 与 python 环境配置
为了 SPL 与 python 之间能通信,实现相互访问,需要进行有关的设置。
下面以在 win10 下,python3.7+SPL 为例来说明如何设置的。
本接口依赖集算器 SPL 外部库 Yimming。 Yimming 与 python 通过 userconfig.xml 关联。
A、安装 Python 软件:
下载 python3 软件安装包,安装位置如 c:\Program Files\raqsoft\yimming\Python37。
B:外部库安装:
缺省安装在集算器 SPL 软件的 esProc\extlib\Yimming 路径下,在集算器的外部库设置中勾选 Yimming 项让其生效。( 通过外部库指南能找到 Yimming jar 依赖包 )
C、 配置文件: 在外部库目录 esProc\extlib\Yimming\userconfig.xml 文件中设置参数,参数如下:
选项 | 名称 | 说明 |
sAppHome | C:\Program Files\raqsoft\yimming | 应用程序目录 |
sPythonHome | c:\Program Files\raqsoft\yimming\ Python37\python.exe |
Python文件 |
sPythonHost | localhost | 网络 IP |
iPythonScriptPort | 8512 | 网络端口 |
D、服务端程序应用程序指提供的 python 服务端程序:
以上配置完成之后,重启集算器后就可以使用 ym_exec() 接口。
2. python 模块开发规范要求
A、def apply(ls) 接口,python 程序的对外接口,实现与 SPL 交互处理。
B、参数 ls 为 list 数据类型