Я пытаюсь обновить свой проект с версии 2.1.1 до 2.3.1, когда я изменяю зависимость, я получаю следующее исключение:
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)
...
Я нашелследующий вопрос, который, кажется, отвечает на происходящее: IllegalAccessError в StopWatch гуавы из org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus
Однако я не ссылаюсь нанепосредственно в hadoop, я просто использую spark-2.3.1-bin-hadoop2.7 в качестве своего дома для свечей.
Я предполагаю, что в spark 2.1.1 гуава была включена неявно, но сейчас ее нет,и hadoop не обновлялся, значит ли это, что мне теперь нужно явно включить гуаву из моего проекта?