我正在评估KNIME及其PMML支持。最近尝试执行以 PMML格式导出的工作流,导致以下错误:“工作流程被另一个Knime实例锁定”。
请注意,我正在批处理模式中使用 KNIME Analytics Platform (不是KNIME服务器)执行工作流程。我已阅读以下相关问题,但它们似乎并非以PMML为重点:
为了在批处理模式中执行工作流程,我正在使用this blog post中描述的方法(我还尝试了-workflowFile=
而不是-workflowDir=
)
P.S。我的一位同事提交了similar question to KNIME forum,但由于缺乏活动,需要尽快解决,我正在征求本网站人员的帮助。
P.P.S。几个澄清:1)在上述场景中没有(用户发起的)并发KNIME会话正在运行; 2)当前(工作流)目录中没有锁文件。
答案 0 :(得分:2)
您不能在批处理模式下使用KNIME执行,也不能在PMML模型中执行,只能使用工作流程。所以你需要四个节点来完成这项工作:
将它们配置并保存为工作流,您应该执行该工作流而不是PMML模型。它应该是这样的:
|CSV Reader|----| |
|JPMML Classifier |----->|CSV Writer|
|PMML Reader|---| |
(如果需要,您可以创建更复杂的工作流程,这只是一个基本示例。)
现在您应该能够按批处理模式执行工作流程,如您提到的博客文章所述。使用流变量,您还可以调整执行运行时。 (使用KNIME Server和QuickForm节点,您可以获得更好的用户界面。)
请确保使用与PMML模型匹配的分类器/预测器/群集分配器。另请注意,这些节点应该与KNIME生成的PMML模型一起使用,当它们不能与其他工具生成的模型一起使用时可能会出现角落(特别是如果这些工具在模型中使用了扩展)。
*:尽管提到这些需要KNIME labs扩展为JPMML,但如果您对模型有更多了解,也可以使用特定于模型的常规KNIME节点
答案 1 :(得分:1)
KNIME论坛上有一个答案:
https://tech.knime.org/forum/knime-general/running-a-pmml-file-in-batch-mode
工作区(不是工作流!)可能已被锁定,因为他在尝试运行批处理模式时仍然打开GUI。
在PMML中导出工作流程时,您的意思是什么?我希望它是一个用PMML导出的模型。
- Rosaria