将Oozie中的Spark Action Node的控制台输出作为整个Oozie Workflow的变量

时间:2017-05-25 01:45:12

标签: scala hadoop apache-spark oozie

有没有办法在Oozie中捕获火花作业的控制台输出?我想在spark作业之后的下一个动作节点中使用特定的打印值。

我在想我可能会使用${wf:actionData("action-id")["Variable"]},但似乎oozie没有能力从spark动作节点捕获输出,这与你可以使用的{Shell}动作不同echo "var=12345"然后在oozie中调用wf:actionData以在整个工作流程中用作Oozie变量。

我想实现这一点,因为我想打印处理的可能数量的记录并将其存储为oozie变量并将其用于工作流中的下一个操作节点,而不执行任何要求您将数据存储在外部的功能工作流程,例如将它们保存在表中或通过在Spark Scala程序中实现它们将它们存储为系统变量。

任何帮助都会非常受欢迎,因为我还是一名新手火花程序员。非常感谢你。

1 个答案:

答案 0 :(得分:0)

由于Spark操作不支持捕获输出,因此您必须将数据写入文件到HDFS。 This帖子解释了如何从Spark中做到这一点。