[HADOOP] 하이브 gzip 파일 압축 해제
HADOOP하이브 gzip 파일 압축 해제
HDFS에 많은 .gz 파일을로드했으며 그 위에 원시 테이블을 만들 때 행 수를 계산할 때 이상한 동작이 나타납니다. 압축되지 않은 테이블과 gz 테이블의 count (*) 결과를 비교하면 ~ 85 %의 차이가 발생합니다. gz 압축 파일이있는 테이블의 레코드 수가 적습니다. 이걸 본 사람 있어요?
CREATE EXTERNAL TABLE IF NOT EXISTS test_gz(
col1 string, col2 string, col3 string)
ROW FORMAT DELIMITED
LINES TERMINATED BY '\n'
LOCATION '/data/raw/test_gz'
;
select count(*) from test_gz; result 1,123,456
select count(*) from test; result 7,720,109
해결법
-
==============================
1.이 문제를 해결할 수있었습니다. 어떻게 든 gzip 파일이 맵 / 축소 작업 (하이브 또는 사용자 정의 Java 맵 / 감소)에서 완전히 압축 해제되지 않았습니다. Mapreduce 작업은 약 450MB의 gzip 파일을 읽고 3.5GZ 파일을 완전히 읽지 않고 HDFS에 데이터를 기록합니다. 이상하고, 전혀 오류가 없습니다!
이 문제를 해결할 수있었습니다. 어떻게 든 gzip 파일이 맵 / 축소 작업 (하이브 또는 사용자 정의 Java 맵 / 감소)에서 완전히 압축 해제되지 않았습니다. Mapreduce 작업은 약 450MB의 gzip 파일을 읽고 3.5GZ 파일을 완전히 읽지 않고 HDFS에 데이터를 기록합니다. 이상하고, 전혀 오류가 없습니다!
파일이 다른 서버에서 압축되었으므로 수동으로 압축을 풀고 hadoop 클라이언트 서버에서 다시 압축했습니다. 그 후 새로 압축 된 3.5GZ 파일을 HDFS에 업로드 한 후 전체 파일을 읽는 모든 레코드를 완전히 계산할 수있었습니다.
마르신
from https://stackoverflow.com/questions/14614126/hive-gzip-file-decompression by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 다중 출력을 사용하여 MapReduce에서 HBase에 쓰기 (0) | 2019.08.08 |
---|---|
[HADOOP] 입력 형식이 Hadoop의 MapReduce에서 데이터 로컬 리티 구현을 담당합니까? (0) | 2019.08.08 |
[HADOOP] 마루 파일을 복사하여 CSV로 변환하는 방법 (0) | 2019.08.08 |
[HADOOP] saveAsNewAPIHadoopFile 메소드에서 작동하지 않는 hdfs에 대한 스파크 쓰기 (0) | 2019.08.08 |
[HADOOP] Cloudera 빠른 시작 도커에서 볼륨으로서의 HDFS (0) | 2019.08.08 |