问题描述
执行select * from xxx
时出错:
Failed with exception java.io.IOException:java.io.IOException: No LZO codec found,cannot run.
故障排除完成:
检查所有hadoop节点的位于$HADOOP_HOME/share/hadoop/common的hadoop-lzo.jar:
# ls $HADOOP_HOME/share/hadoop/common/ | grep lzo
hadoop-lzo-0.4.20.jar
检查在 $HADOOP_HOME/etc/hadoop/core-site.xml 中为所有 hadoop 节点配置的 LZO 编解码器:
<configuration>
...
<property>
<name>io.compression.codecs</name>
<value>
org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec
</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
</configuration>
我还在 mapreduce 中测试了读取 lzo 文件,它工作正常,所以我认为 hadoop-lzo 配置正确,但它在 hive 中不起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)