작업중 hive에서 tez 엔진으로 처리중 파일 머지를 실행하면 다음과 같은 오류가 발생하는 것을 확인하였다.
2017-10-24 01:26:03,407 INFO [Thread-152] SessionState: File Merge: 0/1
2017-10-24 01:26:03,412 INFO [Thread-153] org.apache.hadoop.hive.ql.exec.Task: Dag submit failed due to App master already running a DAG
at org.apache.tez.dag.app.DAGAppMaster.submitDAGToAppMaster(DAGAppMaster.java:1368)
at org.apache.tez.dag.api.client.DAGClientHandler.submitDAG(DAGClientHandler.java:140)
at org.apache.tez.dag.api.client.rpc.DAGClientAMProtocolBlockingPBServerImpl.submitDAG(DAGClientAMProtocolBlockingPBServerImpl.java:175)
at org.apache.tez.dag.api.client.rpc.DAGClientAMProtocolRPC$DAGClientAMProtocol$2.callBlockingMethod(DAGClientAMProtocolRPC.java:7636)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
설정 값을 확인하던 중 작은 용량의 파일을 하나로 합치는 다음의 설정이 들어가면 오류가 발생하는 것을 확인하였다.
그래서 다른 설정을 수정하여 오류를 해결하였다.
hive.merge.tezfiles=true 일경우 오류가 발생하여,
hive.exec.parallel=false 로 수정하여 오류 해결
<오류 원인 설정>
<property>
<name>hive.merge.tezfiles</name>
<value>true</value>
</property>
<수정 내용>
<property>
<name>hive.exec.parallel</name>
<value>false</value>
</property>
'빅데이터 > hive' 카테고리의 다른 글
[Hive][Tez] TEZ에서 파일머지를 처리하는 중 App master already running a DAG 오류 처리 방법 (0) | 2017.11.10 |
---|---|
[hive] 다이나믹 파티션 처리시 0 byte 파일이 생성될 때 설정 (0) | 2017.10.27 |
[hive][error] TEZ 사용시 Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024 오류 (0) | 2017.08.24 |
[hive] 테이블 stat 갱신하기 (0) | 2017.06.26 |
[hive] 하이브 테이블에 struct 같은 복합 데이터 load 하는 법 (0) | 2017.04.12 |