使用IDEA工具运行SparkStreaming的WordCount时,运行报错,报错信息如下:
Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at org.apache.spark.util.Utils$.getCallSite(Utils.scala:1406)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:76)
at com.spark.core.wc.Spark_01_WordCount$.main(Spark_01_WordCount.scala:10)
at com.spark.core.wc.Spark_01_WordCount.main(Spark_01_WordCount.scala)
报错原因是:pom.xml文件引入的scala版本和idea下载的scala版本不一样
解决方法:
点击Project Structure
查看scala版本,我这里是是2.12.0版
打开项目的pom.xml文件
我的scala版本是2.12,所以就导spark-streaming_2.12,如果是2.11就是spark-streaming_2.11
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>3.1.2</version>
</dependency>