하이브 처리 결과를 gzip으로 압축하여 출력할 때는 다음과 같이 사용합니다.
- hive.exec.compress.output: 출력결과의 압축 여부를 설정
- mapred.output.compression.codec: 압축 코덱을 설정. core-site.xml의 io.compression.codecs에 설정된 값을 사용
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
-- 조회결과를 gzip으로 압축하여 출력
INSERT OVERWRITE DIRECTORY 'hdfs:///user/tables/'
SELECT *
FROM table
WHERE name = 'csv'
;
-- 조회결과를 gzip으로 압축하여, CSV 형태로 출력
INSERT OVERWRITE DIRECTORY 'hdfs:///user/tables/'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT *
FROM table
WHERE name = 'csv'
;
-- CTAS 문을 이용한 처리
CREATE TABLE csvsample
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/user/csv/'
AS
SELECT *
FROM table
WHERE name = 'csv'
;
처리 결과는 다음과 같이 .gz 파일로 생성됩니다.
$ hadoop fs -ls /user/csv/
-rwxr-xr-x 2 hadoop hadoop 72361505 2019-04-03 08:05 /user/csv/000000_0.gz
-rwxr-xr-x 2 hadoop hadoop 74060122 2019-04-03 08:05 /user/csv/000001_0.gz
-rwxr-xr-x 2 hadoop hadoop 60733841 2019-04-03 08:05 /user/csv/000002_0.gz
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive] TEZ엔진의 리듀서 처리중 셔플 단계의 OutOfMemoryError: Java heap space 오류 처리 (0) | 2019.04.05 |
---|---|
[hive] Vertex's TaskResource is beyond the cluster container capability 오류 처리 (0) | 2019.04.05 |
[hive] MSCK REPAIR 처리중 Caused by: MetaException(message:Expected 2 components, got 1) 처리 (0) | 2019.04.01 |
[hive] 테이블의 파티션을 범위로 삭제(Drop)하는 방법 (0) | 2019.04.01 |
[hive] 하이브의 LLAP(Live Long And Process) 구조 (0) | 2019.02.26 |