Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
impala테이블이 어떤 형태인지에 따라 다음과 같이 2가지 방법으로 수행할 수 있다.
특히 parquet형식의 테이블인 경우 set num_nodes=1을 먼저 수행해주면 여러개의 fragment로 수행하지 않고 1개의 fragment로 수행되며 지정하지 않으면 병렬 처리를 위해서 가능한한 1개 이상의 fragment로 나뉘어서 수행된다.
1개의 노드에서만 처리할때 파일 사이즈가 많이 크면 OOM을 유발할 수 있으니 주의해야 한다.
1. text형식의 hdfs파일에 대한 테이블인 경우 : insert overwrite table 테이블명 select * from 테이블명;
2. parquet형식의 hdfs파일에 대한 테이블인 경우 : set num_nodes=1; insert overwrite table 테이블명 select * from 테이블명;
*참고
-- OVERWRITE가 붙으면 해당 위치의 내용을 삭제하고 덮어 쓴다.
INSERT OVERWRITE TABLE target PARTITION(col1 = 'a', col2)
SELECT data1,
date2
FROM source;