<property>
<name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name>
<value>false</value>
</property>
我想将上面的属性覆盖为true。对于群集上的其余作业,该属性需要为false,但在我的oozie工作流中,我需要hadoop在作业完成后在输出目录中创建_SUCCESS文件。它是编写输出的工作流程中的蜂巢动作。请帮忙。
答案 0 :(得分:6)
conf.setOutputCommitter(NullOutputCommitter.class);
见
src/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java
src/shims/src/common-secure/java/org/apache/hadoop/hive/shims/HadoopShimsSecure.java
看起来你必须手动创建标志。我们已为此提交了HIVE-3700。
答案 1 :(得分:1)
您可以将“dfs”命令添加到您的配置单元脚本,例如
dfs -touchz '$table_base_path'/dt='${partition}'/_SUCCESS
https://archive.cloudera.com/cdh4/cdh/4/hive/language_manual/cli.html
答案 2 :(得分:0)
我遇到了同样的问题,最后使用shell动作来创建标志。
以下是一个完整的示例:http://nathan.vertile.com/blog/2014/09/02/oozie-data-pipeline-done-flag/