问题:
今天做sparkstreaming的项目,跟着视频做,发现所有依赖都添加了,KafkaUtils导入不了,后来发现 SparkConf,Sparkstreaming那几个类 居然也导入不了。而且更新依赖,发现报错:Could not find artifact org.scala-lang:scala-compiler:pom:2.12.11 in aliyunmaven 。但是我发现后台的依赖好像还都添加了。如下所示:但是不起作用。有大佬看下依赖,应该没有导错(我只展示了spark相关的依赖)。
<properties>
<spark.version>3.0.0</spark.version>
<scala.version>2.12.11</scala.version>
<kafka.version>2.4.1</kafka.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka-0-10_2.12</artifactId>
<version>${kafka.version}</version>
</dependency>
自己尝试:
上网发现可能是依赖冲突,或者是无法从远程下载相关的依赖。可以自己导入本地的jar包。我也不懂什么具体什么意思,就自己尝试将之前在linux安装的spark-3.00-bin-hadoop3.2安装包下的jars文件所有的jar包都导入了idea项目。
这个就很容易出错。花了好几一导入jar包,sparkconf和sparkstreaming立即导入。但是kafkatutils仍然没有导入。后来发现在敲入kakfautils的时候,它不能被识别并import,而是要手动导入。而且还要导入kafka010版本,而且不仅要导入kafka010,还必须加上一个._导入下面所有的依赖。如下:不然kafkautils还是无法导入。 import org.apache.spark.streaming.kafka010._
这个就很容易出错,我花了好几个小时解决。
参考:https://blog.csdn.net/cjlion/article/details/83927102
https://blog.csdn.net/qq_42400267/article/details/103409701
注意:
如果还是不行,可以清除缓存并重启。
清除缓存:点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。
参考:https://www.cnblogs.com/myibm/p/9511847.html