问题:使用hive on spark,创建lzo存储格式的表格,查询数据的时候,报错:No LZO codec found, cannot run。
解决和排错过程:
1.百度No LZO codec found, cannot run
,搜索结果分为以下三种原因:
1). hadoop-lzo.jar包的兼容性问题
首先确定我的框架版本:
(1).官方下载的lzo-master是一个maven项目,解压之后,修改pom文件中
<hadoop.current.version>2.6.0</hadoop.current.version> #这里修改成对应的hadoop版本号
(2).官网下载的Hive3.1.2和Spark3.0.0默认是不兼容的。因为Hive3.1.2支持的Spark版本是2.4.5,所以需要我们重新编译Hive3.1.2版本。
编译步骤:官网下载Hive3.1.2源码,修改pom文件中引用的Spark版本为3.0.0,如果编译通过,直接打包获取jar包。如果报错,就根据提示,修改相关方法,直到不报错,打包获取jar包。
百度都有
我使用的这些编译好的包会在后面贴出来
我使用的是hadoop-lzo-0.4.20.jar。