Hive gzip文件解压缩

时间:2013-01-30 21:27:50

标签: hadoop gzip hive

我已经将一堆.gz文件加载到HDFS中,当我在它们上面创建一个原始表时,我在计算行数时会看到奇怪的行为。比较gz表与未压缩表的计数(*)的结果导致~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 个答案:

答案 0 :(得分:2)

我能够解决这个问题。不知何故,gzip文件在map / reduce作业(hive或自定义java map / reduce)中没有完全解压缩。 Mapreduce作业只能读取大约450 MB的gzip文件,并在不完全读取3.5GZ文件的情况下将数据写出到HDFS。奇怪,没有任何错误!

由于文件是在另一台服务器上压缩的,我手动解压缩它们并在hadoop客户端服务器上重新压缩它们。之后,我将新压缩的3.5GZ文件上传到HDFS,然后hive能够完全统计读取整个文件的所有记录。

的Marcin