【Hive】【问题】

【Hive】【问题】,第1张

【Hive】【问题】 Hive读取Lzo压缩文件问题

现象:

hive (gmall)> select * from ods_log;
Time taken: 0.706 seconds, Fetched: 2955 row(s)

hive (gmall)> select count(*) from ods_log;
2959

两次查询结果不一致。

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

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

解决办法:
修改CombineHiveInputFormat为HiveInputFormat

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5699079.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存