我必须编写一个运行多个pig操作的oozie工作流。这些pig操作可能是相互依赖的。我的意思是一个pig脚本的输出将对另一个有用。我想避免hdfs的多次保存和加载。如何实现这一点?我是否可以使用tez dag将所有pig脚本组合在dag结构中,并从oozie运行一个java操作?
dw1jzc5e1#
在oozie中,不能将一个节点的输出传递给另一个节点(不存储在hdfs中)。您可以实现pigserver(pigjavaapi)来执行多个pig脚本。在一个使用pigserver的java程序中,实现您的需求总是很容易的。
23c0lvtd2#
为什么您认为不需要将中间结果写入hdfs?您可以根据需要调整hdfs复制因子,甚至将其设置为1,这相当于写入本地文件系统。
2条答案
按热度按时间dw1jzc5e1#
在oozie中,不能将一个节点的输出传递给另一个节点(不存储在hdfs中)。您可以实现pigserver(pigjavaapi)来执行多个pig脚本。在一个使用pigserver的java程序中,实现您的需求总是很容易的。
23c0lvtd2#
为什么您认为不需要将中间结果写入hdfs?您可以根据需要调整hdfs复制因子,甚至将其设置为1,这相当于写入本地文件系统。