当map-reduce任务抛出异常时,Oozie工作流成功 - 我希望它失败

时间:2014-03-19 04:42:10

标签: hadoop mapreduce oozie

我有一个Oozie工作流程,可以运行这样的map-reduce任务:

<action name="generate">
    <map-reduce>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        ...
            <property>
                <name>mapred.mapper.class</name>
                <value>com.tendril.pr.report.generate.ReportGenerationMapper</value>
            </property>

我的mapper类是ReportGenerationMapper,它实现了Mapper接口接口。这个类被实例化,并且hadoop系统调用map()方法就好了。在方法调用过程中,虽然发生了运行时异常并且在日志中出现如下:

配置:core-default.xml,core-site.xml,mapred-default.xml,mapred-site.xml,hdfs-default.xml,hdfs-site.xml,/ data / 1 / mapred / local /的TaskTracker /的TaskTracker /根/ jobcache / job_201402032014_4231 / job.xml com.tendril.pr.core.domain.TendrilException:无法检索属性null ...

这很好,但工作流程成功,我希望它失败。我似乎无法让它失败。我毫不费力地搜索了如何使运行此映射器的任务失败。我的oozie工作成功,并没有指出失败,没有深入研究这个任务和查看日志。我希望通过让任务和整个工作流失败来实现失败。关于如何实现这一目标的任何建议?

1 个答案:

答案 0 :(得分:0)

请尝试捕获驱动程序类中的退出代码,并从那里手动抛出异常。