2012-10-22 4 views
5
<property> 
<name>mapreduce.fileoutputcommitter.marksuccessfuljobs</name> 
<value>false</value> 
</property> 

위의 속성을 true로 대체하려고합니다. 클러스터의 나머지 작업에서는이 속성을 false로 설정해야하지만, 작업이 끝나면 출력 디렉토리에 _SUCCESS 파일을 생성하기 위해 hadoop이 필요합니다. 출력을 기록하는 워크 플로의 하이브 작업입니다. 도와주세요.hadoop의 mapreduce.fileoutputcommitter.marksuccessfuljobs를 oozie보다 우선합니다.

답변

6

는 하이브는 불행히도 자신의 NullOutputComitter을 설정하여이 기능을 오버라이드 (override) :

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

처럼, 당신의 하이브 스크립트에 'DFS'명령을 추가 할 수있는 하이브 락스 티켓이 거기에 있습니까? –

+0

https://issues.apache.org/jira/browse/HIVE-3700이 티켓이라고 생각합니다. 나는 대답에 그것을 추가했다. (2012 년 이후에는 티켓에 대한 응답이 없습니다.) –

관련 문제