是否可以将一个 oozie 操作的输出用于其他操作,而无需从 hdfs 保存和加载?子工作流选项在这方面有用吗?
Posted
技术标签:
【中文标题】是否可以将一个 oozie 操作的输出用于其他操作,而无需从 hdfs 保存和加载?子工作流选项在这方面有用吗?【英文标题】:Is it possible to use output of one oozie action into other without need to save and load from hdfs? Is subworkflow option useful in that? 【发布时间】:2015-07-24 14:47:25 【问题描述】:我必须编写一个运行多个猪动作的 oozie 工作流。这些猪动作可能是相互依赖的。我的意思是一个猪脚本的输出将对其他猪有用。我想避免从 hdfs 进行多次保存和加载。这是如何实现的?我可以使用 TEZ DAG 将所有猪脚本组合成 DAG 结构并从 Oozie 运行一个 Java 操作吗?
【问题讨论】:
【参考方案1】:在 oozie 中,您不能将一个节点的输出传递到另一个节点(不存储在 HDFS 中)。您可以实现 PigServer(pig java API)来执行多个 pig 脚本。在一个使用 pigserver 的 java 程序中,它总是很容易满足您的要求。
【讨论】:
【参考方案2】:为什么您认为不希望将中间结果写入 HDFS?您可以根据需要调整 HDFS 复制因子,甚至将其设置为 1,这相当于写入本地文件系统。
【讨论】:
以上是关于是否可以将一个 oozie 操作的输出用于其他操作,而无需从 hdfs 保存和加载?子工作流选项在这方面有用吗?的主要内容,如果未能解决你的问题,请参考以下文章