美文网首页
Hive读取索引文件问题

Hive读取索引文件问题

作者: 大空翼123 | 来源:发表于2021-12-10 17:53 被阅读0次

LZO压缩

数据保存在HDFS上面可以选取LZO压缩形式。LZO压缩的特点是可以切片

但是hadoop本身并不支持lzo压缩需要配置。详见Hadoop LZO压缩配置

两种方式,分别查询压缩数据有多少行

select * from ods_base_province;

查询得到34行

select count(*)from ods_base_province;

查询得到35行


两次查询结果不一致。

原因是select * from ods_log不执行MR操作,直接采用的是ods_log建表语句中指定的DeprecatedLzoTextInputFormat,能够识别lzo.index为索引文件。

select count(*) from ods_log执行MR操作,会先经过hive.input.format,其默认值为CombineHiveInputFormat,其会先将索引文件当成小文件合并,将其当做普通文件处理。更严重的是,这会导致LZO文件无法切片。

hive > set hive.input.format;

hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

解决办法:修改CombineHiveInputFormat为HiveInputFormat

hive >set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

修改只在当前会话生效

相关文章

网友评论

      本文标题:Hive读取索引文件问题

      本文链接:https://www.haomeiwen.com/subject/vgncfrtx.html