在oozie工作流中将spark操作节点的控制台输出捕获为变量

2skhul33  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(379)

有没有办法在oozie中捕获spark作业的控制台输出?我想在spark作业之后的下一个操作节点中使用特定的打印值。
我在想也许我可以用 ${wf:actionData("action-id")["Variable"]} 但似乎oozie没有从spark动作节点捕获输出的能力,这与shell动作不同 echo "var=12345" 然后调用oozie中的wf:actiondata作为整个工作流中的oozie变量。
我想实现这一点,因为我想打印可能处理的记录数,并将其存储为oozie变量,并将其用于工作流中的下一个操作节点,而不需要执行任何需要在工作流之外存储数据的功能,如将其保存在表中或通过在spark scala程序中实现它们。
任何帮助都将不胜感激,因为我还是一个新手Spark程序员。非常感谢你。

bkhjykvo

bkhjykvo1#

由于spark action不支持捕获输出,因此必须将数据写入hdfs的文件中。这篇文章解释了如何在spark中做到这一点。

相关问题