1

我正在评估 KNIME 及其 PMML 支持。最近尝试执行以PMML 格式导出的工作流,导致以下错误:“工作流被另一个 Knime 实例锁定”

请注意,我正在以批处理模式使用KNIME 分析平台(不是 KNIME 服务器)执行工作流。我已阅读以下相关问题,但它们似乎不是以 PMML 为重点的:

为了以批处理模式执行工作流,我使用了这篇博文中描述的方法(我也尝试过-workflowFile=代替-workflowDir=)。

PS 我的一位同事向 KNIME 论坛提交了一个类似的问题,但由于那里缺乏活动并且需要尽快解决这个问题,我正在向这个网站上的人寻求帮助。

PPS 一些澄清:1)在上述场景中没有(用户启动的)并发 KNIME 会话正在运行;2) 当前(工作流程)目录中不存在锁定文件。

4

2 回答 2

2

您不能在批处理模式或其他 PMML 模型中使用 KNIME 执行,只能在工作流中执行。所以你需要四个节点来完成这项工作:

将它们配置并保存为工作流,您应该执行该工作流而不是 PMML 模型。它应该如下所示:

|CSV Reader|----|                 |
                |JPMML Classifier |----->|CSV Writer|
|PMML Reader|---|                 |

(如果需要,您可以创建更复杂的工作流程,这只是一个基本示例。)

现在您应该能够按照您提到的博客文章所述以批处理模式执行工作流。使用流变量,您还可以调整执行运行时。(使用 KNIME 服务器和 QuickForm 节点,您可以拥有更好的用户界面。)

请确保您使用与您的 PMML 模型匹配的分类器/预测器/集群分配器。另请注意,这些节点应该与 KNIME 生成的 PMML 模型一起使用,当它们不能与其他工具生成的模型一起使用时(尤其是如果这些工具在模型中使用了扩展),可能会出现一些极端情况。

*:虽然提到的这些需要 JPMML 的 KNIME 实验室扩展,但如果您对模型有更多了解,您也可以使用模型特定的常规 KNIME 节点

于 2016-02-27T11:17:49.973 回答
1

KNIME 论坛上有一个答案:

https://tech.knime.org/forum/knime-general/running-a-pmml-file-in-batch-mode

工作区(不是工作流!)可能被锁定,因为当他尝试运行批处理模式时,GUI 仍然打开。

在 PMML 中导出工作流到底是什么意思?我希望这是您在 PMML 中导出的模型。

——罗莎莉亚

于 2016-02-27T13:29:09.070 回答