问题描述
我创建了一个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