빅데이터/hive
[hive] 하이브 처리 결과를 gzip으로 압축하는 방법
hs_seo
2019. 4. 3. 14:02
하이브 처리 결과를 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
반응형