我正在运行OOZIE工作流程,并在map-reduce操作中仅执行地图分布式模型拟合。由于有许多映射器,我编写了一个代码,使用yarn logs -applicationId application_x
编译所有映射器任务的YARN日志,其中application_x是所有映射任务的父应用程序ID。现在我想将此摘要作为工作流的一部分,因此我需要动态获取application_x
,这是前一个操作的应用程序ID。我有什么方法可以得到这个吗?
答案 0 :(得分:2)
我没有对此进行过测试,但我认为您可以使用工作流EL功能来实现这一目标:
wf:actionExternalId(String node)
It returns the external Id for an action node, or an empty string if
the action has not being executed or it has not completed yet.
因此,在地图缩减作业完成后的节点中,您应该可以使用类似于
的内容wf:actionExternalId('mapred-node-name')
我怀疑它会返回job_xxx而不是application_xxx,但你可以处理它。