spark程序依赖guava冲突报错

在使用Spark读取本地文件时,出现`java.lang.IllegalAccessError`,原因是Guava版本冲突。解决办法是检查POM文件中的Guava依赖,或者在IDE的外部库中查找Guava jar包,发现并移除不兼容的高版本,替换为与Spark兼容的低版本(如15)。问题得到解决,但为何Spark未默认包含Guava仍然困惑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在练习 spark 读取本地文件的过程中,遇到了这样的问题:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapred.FileInputFormat
    at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:312)
    at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:200)
    at org.apache.spark.rdd.RDD$anonfun$partitions$2.apply(RDD.scala:253)
    at org.apache.spark.rdd.RDD$anonfun$partitions$2.apply(RDD.scala:251)
    at scala.Option.getOrElse(Option.scala:121)
    at org.apache.spark.rdd.RDD.partitions(RDD.scala:251)
    at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:46)
    at org.apache.spark.rdd.RDD$anonfun$partitions$2.apply(RDD.scala:253)
    at org.apache.spark.rdd.RDD$anonfun$partitions$2.apply(RDD.scala:251)
    at scala.Option.getOrElse(Option.scala:121)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值