2017-05-17 16 views
0

소스에서 데이터를 추출하여 다른 대상에 추가하는 하이브 스크립트를 작성하고 있습니다. 소스에 저장된 데이터는 사용자 정의 형식입니다. 따라서 하이브 UDF를 사용하여 데이터를 가져와 deserialize하고 List<String>을 반환합니다 (나는 List<org.apache.hadoop.io.Text>을 시도했습니다).사용자 정의 역 직렬화를 위해 HIVE에서 UDF를 실행하는 동안 OWN_TASK_FAILURE.

4 개의 문자열 매개 변수로 하이브 테이블 (HIVE_TABLE)을 만들고 다음과 같은 하이브 쿼리를 실행합니다.

> INSERT OVERWRITE TABLE HIVE_TABLE SELECT udfFunction(colName)[0], udfFunction(colName)[1], udfFunction(colName)[2], udfFunction(colName)[3] from sourceTable; 

'udfFunction는'List<String>, 'colName 사용'저장 sourceTable의 직렬화 된 데이터 (다른 하이브 테이블)를 반환 내 customFunction입니다.

위의 스크립트를 실행하면 다음과 같은 예외가 발생합니다.

Container exited with a non-zero exit code 255 ]]], Vertex did not succeed due to OWN_TASK_FAILURE, failedTasks:1 killedTasks:0, Vertex vertex_1489044803200_0651_1_00 [Map 1] killed/failed due to:OWN_TASK_FAILURE]DAG did not succeed due to VERTEX_FAILURE. failedVertices:1 killedVertices:0 

위의 전략에서 OWN_TASK_FAILURE 예외가 언제 발생하는지 설명 할 수 있습니까? 실행 엔진으로 mr 설정

답변

1

시도 :

set hive.execution.engine=mr; 

는 때때로 tez와 디버깅하기 어렵다.