[HADOOP] 하이브 설정 hive.optimize.sort.dynamic.partition
HADOOP하이브 설정 hive.optimize.sort.dynamic.partition
나는 동적 파티션이있는 하이브 테이블에 삽입하려합니다. 같은 쿼리는 지난 몇 일 동안 잘 실행되었지만, 지금은 아래의 오류를주고있다.
Diagnostic Messages for this Task: java.lang.RuntimeException:
org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error:
Unable to deserialize reduce input key from
x1x128x0x0x46x234x240x192x148x1x68x69x86x50x0x1x128x0x104x118x1x128x0x0x46x234x240x192x148x1x128x0x0x25x1x128x0x0x46x1x128x0x0x72x1x127x255x255x255x0x0x0x0x1x71x66x80x0x255
with properties
{columns=reducesinkkey0,reducesinkkey1,reducesinkkey2,reducesinkkey3,reducesinkkey4,reducesinkkey5,reducesinkkey6,reducesinkkey7,reducesinkkey8,reducesinkkey9,reducesinkkey10,reducesinkkey11,reducesinkkey12,
serialization.lib=org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe,
serialization.sort.order=+++++++++++++,
columns.types=bigint,string,int,bigint,int,int,int,string,int,string,string,string,string}
at org.apache.hadoop.hive.ql.exec.mr.ExecReducer.reduce(ExecReducer.java:283)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:506)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:447)
at org.apache.hadoop.mapred.Child$4.run(Child.java
FAILED: Execution Error, return code 2 from
org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce Jobs Launched:
Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 3.33 sec HDFS
Read: 889 HDFS Write: 314 SUCCESS Stage-Stage-2: Map: 1 Reduce: 1
Cumulative CPU: 1.42 sec HDFS Read: 675 HDFS Write: 0 FAIL
나는 아래 설정을 사용하면 쿼리가 잘 실행
set hive.optimize.sort.dynamic.partition=false
나는이 값을 true로 설정하면,이 같은 오류를 제공합니다.
소스 테이블은 순서 형식으로 저장되며 대상 테이블은 RC 형식으로 저장됩니다. 사람이 설정은 내부적으로 만들어 무엇 차이를 설명 할 수 있습니까?
해결법
-
==============================
1.우리가 동적 파티션이있는 테이블 삽입 True로 설정해야 할 때 때때로 우리는 이러한 오류가 발생합니다.
우리가 동적 파티션이있는 테이블 삽입 True로 설정해야 할 때 때때로 우리는 이러한 오류가 발생합니다.
하이브 hive.optimize.sort.dynamic.partition 사용할 때 데이터의 일부가 아닌 감속기 단계를하는 데 도움이되는 몇 가지 내부 열을 전달하기 때문에 발생합니다. 이 설정은 안정적인 아니다.
이 설정을 hive0.14.0 이상 버전에서 기본적으로 사용할 수 있지만 기본적으로 hive0.13.0에 사용할 수 있습니다 이유입니다. 당신이 그것을 얻을 희망 ....
-
==============================
2.이 오류는 인한 동시에 열 너무 많은 기록 작가에 OOM을가는 RC 파일 스트라이프 버퍼에 발생합니다.
이 오류는 인한 동시에 열 너무 많은 기록 작가에 OOM을가는 RC 파일 스트라이프 버퍼에 발생합니다.
하이브 구성 속성 :
hive.optimize.sort.dynamic.partition
소스 - 하이브 구성 속성
from https://stackoverflow.com/questions/33147764/hive-setting-hive-optimize-sort-dynamic-partition by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 다른 데이터 유형 그룹과 두 개의 열을 비교하는 방법 (0) | 2019.10.10 |
---|---|
[HADOOP] 하둡 DBWritable : 하둡 감속기에서 MySQL의 레코드를 삽입 할 수 없습니다 (0) | 2019.10.09 |
[HADOOP] 하이브는 자바 9 지원됩니까? [복제] (0) | 2019.10.09 |
[HADOOP] 하둡 클러스터에 대한 최적의 블록 크기 (0) | 2019.10.09 |
[HADOOP] HDFS에서 이동 데이터는 하이브 테이블에로드 작업을 수행하는 방법에 대한 디렉토리를 하이브 (0) | 2019.10.09 |