GZIP 압축 형식의 HIVE 표 만 들 기

2136 단어
원본 링크:https://blog.csdn.net/BDCHome/article/details/45534687
2015 년 05 월 06 일 13: 37: 22 빅 데이터 부 읽 기 수 3232 더 많 음
본문 링크:https://blog.csdn.net/BDCHome/article/details/45534687
GZIP 은 Linux 시스템 에서 가장 많이 사용 되 는 압축 형식 으로 GZIP 압축 형식 을 만 드 는 HIVE 표 의 구체 적 인 절 차 는 다음 과 같다.
1. STORED AS TEXTFILE 을 저장 형식 으로 HIVE 표 만 들 기
CREATE TABLE TRACKLOG (
    DATEDAY STRING COMMENT "  ",
    IP STRING COMMENT "IP",
    COOKIEID STRING COMMENT "  COOKIE",
    USERID STRING COMMENT "  ID", 
    LOGSERVERIP STRING COMMENT "       IP",
    REFERER STRING COMMENT "   :       REFER",
    REQUESTURL STRING COMMENT "     :       "
) PARTITIONED BY(DAY STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE ;

2. TEXTFILE 형식 은 일반 텍스트 형식의 데 이 터 를 사용 할 수도 있 고 GZIP 의 압축 형식 을 사용 할 수도 있 으 며 HIVE 는 GZIP 의 압축 을 자동 으로 푸 는 형식 을 만 들 수 있 습 니 다.3. GZIP 의 압축 방법: 현재 디 렉 터 리 에 있 는 모든 *. dat 파일 을 압축 합 니 다.
gzip *.dat

4. HIVE 파 티 션 시트 에 데 이 터 를 불 러 옵 니 다.
LOAD DATA LOCAL INPATH 
'/DISKG/BIGDATA/10-0-251-146/TRACKLOG/20150123*.DAT' 
OVERWRITE INTO TABLE TRACKLOG PARTITION (DAY='20150123'); 

또는 Mapreduce 를 통 해 데 이 터 를 불 러 오 려 면 먼저 hive 의 압축 매개 변 수 를 설정 해 야 합 니 다.
set hive.enforce.bucketing=true; 
set hive.exec.compress.output=true;  
set mapred.output.compress=true;  
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;  
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;  

insert overwrite table trackloggzip 
PARTITION (day='20150124') 
select 
    dateday, datetime ,ip,cookie  ,userid   
    ,logserverip ,source ,requesturl ,remark1 
    ,remark2,alexaflag ,ua ,  wirelessflag 
from tracklog where day='20150124';

5. 파 티 션 삭제
ALTER TABLE TRACKLOG DROP PARTITION(DAY='20130823') 

6. GZIP 의 압축 은 비교적 좋 은 유 니 버 설 (LINUX 시스템 에서 가장 자주 사용 하 는 압축 방식) 과 좋 은 압축 비율 (테스트 텍스트 를 23% 로 압축) 을 가 지 며 SPARK - SQL 도 GZIP 의 형식 을 완벽 하 게 지원 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기