导入org.apache.spark.streaming.kafka._无法解析符号kafka 火花结构化流火花流

问题描述

我创建了一个spark应用程序以与kafka集成并从kafka获取数据流。

但是,当我尝试导入 import org.apache.spark.streaming.kafka ._ 时,发生错误提示无法解析符号kafka ,所以我该怎么办导入该库

解决方法

根据您的Spark和Scala版本,您需要将spark-kafka集成库包括在依赖项中。

火花结构化流

如果您打算使用Spark结构化流传输,则需要按照here中的说明,将以下内容添加到依赖项中:

对于使用SBT / Maven项目定义的Scala / Java应用程序,将您的应用程序与以下工件链接:

groupId = org.apache.spark
artifactId = spark-sql-kafka-0-10_2.12
version = 3.0.1

请注意,要使用标头功能,您的Kafka客户端版本应为0.11.0.0或更高版本。对于Python应用程序,在部署应用程序时需要添加上述库及其依赖项。请参阅下面的“部署”小节。为了试验spark-shell,在调用spark-shell时,您还需要添加上面的库及其依赖项。另外,请参见下面的“部署”小节。

火花流

如果您打算使用Spark Streaming(Direct API),则可以按照here给出的指导进行操作:

对于使用SBT / Maven项目定义的Scala / Java应用程序,将流应用程序与以下工件链接(有关更多信息,请参见主编程指南中的“链接”部分)。

groupId = org.apache.spark
artifactId = spark-streaming-kafka-0-10_2.12
version = 3.0.1