Java 使用Knime定义Oozie工作流
我目前的问题是试图开发一组Knime节点,以提供与ApacheOozie的集成。也就是说,我正试图从Knime内部构建、启动和监控Oozie工作流 我在为线性Oozie工作流实现这一点上取得了一些成功,但当需要包括分支时,我变得非常困惑 作为背景,让我解释一下我为线性工作流所做的工作: 本质上,我的解决方案将每个Oozie操作表示为Knime节点。每个节点都有2种操作模式,根据特定流变量的内容调用相应的模式。这两种模式是必需的,因为我必须执行两次Oozie部分(OozieStartAction到OozieStopAction),第一次迭代生成Oozie工作流,第二次启动并监视它。此外,流变量在该循环的迭代之间保持不变Java 使用Knime定义Oozie工作流,java,oozie,knime,Java,Oozie,Knime,我目前的问题是试图开发一组Knime节点,以提供与ApacheOozie的集成。也就是说,我正试图从Knime内部构建、启动和监控Oozie工作流 我在为线性Oozie工作流实现这一点上取得了一些成功,但当需要包括分支时,我变得非常困惑 作为背景,让我解释一下我为线性工作流所做的工作: 本质上,我的解决方案将每个Oozie操作表示为Knime节点。每个节点都有2种操作模式,根据特定流变量的内容调用相应的模式。这两种模式是必需的,因为我必须执行两次Oozie部分(OozieStartAction
- 在一种操作模式中,节点将特定于它所表示的Oozie操作的xml内容附加到整个Oozie工作流xml中,然后转发它
- 在另一种情况下,节点只是轮询Oozie以获取它所表示的操作的状态
有没有人对我采用哪种方法有什么广泛的想法?在递归循环中有一列名为(以前的帐户名)的地方,如何使用一个变量来表示列。对于所有行,在一个中保持相同的值似乎有些过分,但是递归循环将像其他任何列一样传递该值 顺便说一句,你看过这些吗?
像递归循环这样的东西不适合您的分支和合并吗?(我不熟悉Oozie。)我不确定,因为我已经在递归循环中嵌入了这个工作流。嵌套循环没有问题吗?我指的是像节点一样的递归的自定义实现,而不是KNIME节点。我认为嵌套应该不是问题,但我还没有尝试过。嗯,你能详细介绍一下这个想法吗?恐怕我对Iris的实现不太了解。你的描述和它的功能很相似。要保留prev node name变量,可以在
prev\u ACTION\u name
前面加上其节点id(或时间戳),结果类似于node 64PREV\u ACTION\u name
。使用Java代码片段或自定义节点,您可以找到想要使用的适当的PREV\u ACTION\u NAME
。也许这不是最好的主意,但目前我只有这些。