Переопределить mapreduce.fileoutputcommitter.marksuccessfuljobs hadoop в oozie
<property>
<name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name>
<value>false</value>
</property>
Я хочу переопределить указанное выше свойство на true. Это свойство должно быть ложным для остальных заданий в кластере, но мне нужно, чтобы в моем рабочем процессе oozie имелся цикл создания файла _SUCCESS в выходном каталоге после завершения задания. Это действие улья в рабочем процессе, который записывает вывод. Пожалуйста помоги.
3 ответа
К сожалению, Hive отменяет эту возможность, устанавливая свой собственный NullOutputComitter:
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
Похоже, вам придется создать флаг вручную. Для этого мы подали заявку на ВИЧ-3700.
Вы можете добавить команду 'dfs' в ваш скрипт улья, например:
dfs -touchz '$table_base_path'/dt='${partition}'/_SUCCESS
https://archive.cloudera.com/cdh4/cdh/4/hive/language_manual/cli.html
Я столкнулся с той же проблемой и в итоге использовал действие оболочки для создания флага.
Вот полный пример: http://nathan.vertile.com/blog/2014/09/02/oozie-data-pipeline-done-flag/