第三方应用程序连接外部库

阅读(557) 标签: 第三方, 连接外部库,

【暂时不适用20221226及以后发布的集算器】

 

很多时候,我们可能不是直接在集算器中执行dfx脚本,而是将集算器集成到第三方应用中来使用。那么如果想要使用外部库功能,就需要从【集算器安装根目录】/esProc/config目录下取raqsoftConfig.xml,手动在文件的<Runtime><EsProc> ... </EsProc></Runtime>中加上以下代码,指定外部库所需jar的引用路径:

<extLibsPath>外部库文件夹路径</extLibsPath>

<importLibs>

<lib>外部库文件夹名称</lib> 

</importLibs>

下面以集算器嵌入到java应用程序中为例,介绍建模YModelCli外部库在第三方应用中的使用:

1. 加载集算器JDBC需要用到的jar

参考《教程》 集算器JDBC的基本部署 章节,放入集算器JDBC所需的jar

2. 配置集算器JDBCraqsoftConfig.xml文件

参考《教程》配置raqsoftConfig.xml章节

3. 加载建模外部库jar

将建模YModelCli外部库核心jarscu-ymodel-cli-2.10.jar)及以下列表的文件拷贝到一个独立的目录中,如(D:\extlib\YModelCli

commons-beanutils.jar

commons-io-2.4.jar

commons-lang-2.6.jar

ezmorph-1.0.2.jar

fastjson-1.2.58.jar

gson-2.8.0.jar

jackson-annotations-2.9.6.jar

jackson-core-2.9.6.jar

jackson-databind-2.9.6.jar

jackson-databind-2.9.6-sources.jar

jackson-dataformat-msgpack-0.8.14.jar

json-lib-1.1-jdk13.jar

mining.jar

msgpack-0.6.12.jar

msgpack-core-0.8.16.jar

userconfig.xml

4.配置建模外部库所需的xml文件

YModelCli外部库文件路径下的文件userconfig.xml中进行相关参数配置:

<?xml version="1.0" encoding="UTF-8"?>

<Config Version="1">

<Options>

<!--智能建模应用目录 -->

<Option Name="sAppHome" Value=""/>

<!--易明智能建模安装目录下的Python路径 --> 

<Option Name="sPythonHome" Value=""/>

<!-- Python服务网络端口-->

<Option Name="iPythonServerPort" Value="8510"/>

<!-- Python进程数-->

<Option Name="iPythonProcessNumber" Value="2"/>

<!--是否智能补缺 --> 

<Option Name="bAutoDecideImpute" Value="true"/>

<!--重采样次数 --> 

<Option Name="iResampleMultiple" Value="150"/>

</Options>

</Config>

其中,参数sPythonHome的配置在WindowsLinux环境中略有不同,Windows中配置路径为:[sAppHome]/Python39/python.exeLinux中配置路径为:[sAppHome]/Python39/bin/python3.9

5. 在集算器JDBCraqsoftConfig.xml中加入外部库的节点<lib>

配置外部库的节点<lib>,上述步骤3中我们已将建模外部库所需的jar放入到D:\ extlib\YModelCli目录下,下面可直接添加节点:

<Esproc>

      … …

    //配置外部库文件夹路径

  <extLibsPath>D:\extlib</extLibsPath>

  <importLibs>

//配置外部库文件夹名称

      <lib>YModelCli</lib>

  </importLibs>

</Esproc>

6. 部署访问建模外部库数据的dfx文件:

 

A

 

1

=ym_env()

初始化环境

2

=ym_load_pcf("model.pcf")

根据模型文件生成模型对象

3

=ym_predict(A2,"train_t.csv")

执行预测操作,返回预测结果对象

4

=ym_json(A2)

根据模型对象获取模型信息

5

=ym_json(A3)

返回根据预测数据评估的模型表现信息

6

>ym_close(A1)

释放资源

dfx文件部署方式参考《教程》应用集成 JAVA调用章节

到此,就可以在JAVA中调用dfx文件了。