首页 > 解决方案 > 导入 org.apache.spark.streaming.kafka._ 无法解析符号 kafka

问题描述

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

但是,当我尝试导入import org.apache.spark.streaming.kafka._时出现无法解析符号 kafka的错误,所以我应该怎么做才能导入这个库

标签: apache-sparkapache-kafkaspark-streaming-kafka

解决方案


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

Spark 结构化流

如果您打算使用 Spark Structured Streaming,您需要将以下内容添加到您的依赖项中,如此所述:

对于使用 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),您可以按照此处给出的指导进行操作:

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

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

推荐阅读