【摘要】
集算器 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 数据类型,它类似于 java 中的入口函数 void main(string argv[]) 中的 argv 参数。
C、返回值,返回 dataframe 结构数据存放在 list 类型的变量中, 可在 SPL 中显示。
D、样例说明:demo.py
import pandas as pd
import sys
def apply(lists):
cols = ["value"]
ls = []
for x in lists:
SPL调用Python实现数据处理与建模

本文介绍了如何在集算器SPL中调用Python程序,利用YM外部库实现SPL与Python的交互,特别是针对机器学习算法的调用。详细讲述了SPL与Python的环境配置、Python模块开发规范、ym_exec接口调用以及建模算法模块的使用,提供了具体的示例代码。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



