Sherry IT Blog

hive insert문 셋팅값 & insert into 와 insert overwrite 차이 본문

BIgData

hive insert문 셋팅값 & insert into 와 insert overwrite 차이

sherrylover 2021. 2. 5. 16:45
728x90
반응형

-하이브는 기본적으로 동적 파티션만 이용하는 것을 권장하지는 않음

-동적 파티션만을 이용하여 데이터를 입력하기 위한 설정, 기본값은 strict

set hive.exec.dynamic.partition.mode=nonstrict;



-동적 파티션은 기본적으로 활성회되어 있지않음
동적 파티션 활성화하려면 아래와 같이 해야함

set hive.exec.dynamic.partition=true;

 

 -동적 파티션 갯수 설정 > 동적 파티션을 사용하면 속도가 느려지기 떄문에 동적 파티션의 생성 갯수에 제한이 있음. 기본설정보다 많은 파티션을 생성할 때는 아래와 같이 설정해줘야함.

 

set hive.exec.max.dynamic.partitions=3000;

 

-노드별 동적 파티션 생성 갯수

 

set hive.exec.max.dynamic.partitions.pernode=100;

 

 

 

* hive 0.13.0 버전 이후부터 모든 트랜잭션은 오토커밋

 

 

-insert 문 예시

set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=3000;
set hive.exec.max.dynamic.partitions.pernode=100;


insert into table [table name] partition(year,month)
select 
column1 , column2, column3.....
from [table name2]



insert overwrite table [table name] partition(year,month)
select 
column1 , column2, column3.....
from [table name2]

 

*insert into문은 데이터를 추가
*insert overwrite문은 대상 테이블/파티션의 데이터를 교체

 

728x90
반응형
Comments