티스토리 뷰

하이브 처리 결과를 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
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함