今天用sqoop往hive导入数据的时候,执行报错,错误信息为:
java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMapper.
经过查阅,原因为hive和sqoop用的jackson版本不一致造成的。
部署环境为:
hadoop 2.7.3 + hive 2.3.4 + sqoop 1.47
解决办法为删除sqoop_home/lib中所有的jackson*.jar,并复制 hive_home/lib/jackson*.jar到sqoop_home/lib目录中
rm -f /home/workspace/sqoop-1.4..bin__hadoop-2.6./lib/jackson*.jar #删除sqoop jackson*.jar包,并用hive中的jar包来替换
cp /home/workspace/apache-hive-2.3.-bin/lib/jackson*.jar /home/workspace/sqoop-1.4..bin__hadoop-2.6./lib/ #将hive中的jackson*.jar复制到sqoop目录中
修改之后,sqoop导入就可以成功了