Hadoop 配置单元gzip文件解压缩

Hadoop 配置单元gzip文件解压缩,hadoop,gzip,hive,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 '/d

我已经将一堆.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

我能够解决这个问题。不知何故,gzip文件在map/reduce作业(配置单元或自定义java map/reduce)中没有完全解压缩。Mapreduce作业只读取约450MB的gzip文件,并将数据写入HDFS,而不完全读取3.5GZ文件。奇怪,一点错误都没有

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


Marcin

你能输入更多信息吗?例如HDFS中的文件名,测试中选择*的结果和测试中选择*的结果,你有元数据gzip文件的问题吗?打印数据时,第一行显示包含元数据的数据。你知道我怎么解决这个问题吗。