若发生将一个使用LZO压缩过的表数据导入一个没有被压缩过表内,
类似于如下两个表:
图一:LZO压缩
图二未压缩
查询将出现这种状况,hdfs目录下明明有数据,count(*)有数据总量,但是select就是查询不出来,
具体原因:
表的结构是未压缩过的,但是数据是压缩过的,通过select(此处查询的方法跟表的结构有关系)查询压缩过的结果,肯定不会显示,
具体解决办法:
使用select的时候指定对应的压缩方法就可以查询出来压缩过的数据,类似于下:
SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;
select * ....就可以查到数据了。