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
반응형