NoSuchMethodError: com.fasterxml.jackson.module.scala.deser.BigDecimalDeserializer$.handledType()

2 篇文章 0 订阅
1 篇文章 0 订阅

Spark Java 本地运行时总是会在parallelize()方法的时候爆出异常:

Exception in thread "main" java.lang.NoSuchMethodError: com.fasterxml.jackson.module.scala.deser.BigDecimalDeserializer$.handledType()Ljava/lang/Class;
	at com.fasterxml.jackson.module.scala.deser.NumberDeserializers$.<init>(ScalaNumberDeserializersModule.scala:49)
	at com.fasterxml.jackson.module.scala.deser.NumberDeserializers$.<clinit>(ScalaNumberDeserializersModule.scala)
	at com.fasterxml.jackson.module.scala.deser.ScalaNumberDeserializersModule$class.$init$(ScalaNumberDeserializersModule.scala:61)
	at com.fasterxml.jackson.module.scala.DefaultScalaModule.<init>(DefaultScalaModule.scala:20)
	at com.fasterxml.jackson.module.scala.DefaultScalaModule$.<init>(DefaultScalaModule.scala:37)
	at com.fasterxml.jackson.module.scala.DefaultScalaModule$.<clinit>(DefaultScalaModule.scala)
	at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82)
	at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala)
	at org.apache.spark.SparkContext.withScope(SparkContext.scala:692)
	at org.apache.spark.SparkContext.parallelize(SparkContext.scala:709)
	at org.apache.spark.api.java.JavaSparkContext.parallelize(JavaSparkContext.scala:134)
	at org.apache.spark.api.java.JavaSparkContext.parallelize(JavaSparkContext.scala:146)
	at com.zion.SparkAnalyse.action.Count.main(Count.java:15)

由于之前我默认引用的是本地编译的Spark-core_2.11而不优先依赖maven,因此一直没有出错,后来换了工作区之后就出现这个错误了。事实上这个类方法是可以在maven dependencies 里面找到的,很有可能是类冲突,网上大多数解决方案也是一般的导包删包防冲突的方法,但这都不是最好的解决方法,甚至有可能弄的依赖爆炸。各种方法试了,包括补装scala maven for IDE,怀疑网络问题添加maven服务器地址,也无果。

实在没办法,排除法,居然是Hive中的包和spark有冲突,简直了,在maven的pom中,把spark配置往前挪到hive之前就解决了,毕竟花了点时间,在这里做个记录。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值