使用 Spark 2.3 结构化流的 Jar 依赖项错误
Jar dependencies error using Spark 2.3 structured streaming
我完全按照 documentation 使用 spark2.3 结构化流读取 Kafka 1.0 数据,但出现异常:
Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.TopicPartition`
如文档所述,我使用的唯一与 kafka 相关的 jar 是 spark-sql-kafka-0-10_2.11-2.3.0.jar
。
缺少classTopicPartition
,它在这个依赖中:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.0</version>
</dependency>
另外一个常见问题是需要在 运行 spark-submit 时添加此选项:
--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.0
你也必须在你的项目中添加这个库
org.apache.kafka:kafka-clients:0.10.0.0
行家:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.0.0</version>
</dependency>
sbt:
libraryDependencies += "org.apache.kafka" % "kafka-clients" % "0.10.0.0"
发帖者找到的解决方案
Adding kafka-clients:0.10.0.0.jar to HDFS instead of $SPARK_HOME/jars/
尽管文档中说要添加你已经添加的依赖,但你可能还需要添加以下依赖。
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>YOUR_KAFKA_VERSION</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
<version>YOUR_SPARK_VERSION</version>
</dependency>
它解决了我遇到的一些问题。
PS:我知道第二个依赖项是针对 Spark 流而不是结构化流,但值得一试。
我完全按照 documentation 使用 spark2.3 结构化流读取 Kafka 1.0 数据,但出现异常:
Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.TopicPartition`
如文档所述,我使用的唯一与 kafka 相关的 jar 是 spark-sql-kafka-0-10_2.11-2.3.0.jar
。
缺少classTopicPartition
,它在这个依赖中:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.0</version>
</dependency>
另外一个常见问题是需要在 运行 spark-submit 时添加此选项:
--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.3.0
你也必须在你的项目中添加这个库
org.apache.kafka:kafka-clients:0.10.0.0
行家:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.10.0.0</version>
</dependency>
sbt:
libraryDependencies += "org.apache.kafka" % "kafka-clients" % "0.10.0.0"
发帖者找到的解决方案
Adding kafka-clients:0.10.0.0.jar to HDFS instead of $SPARK_HOME/jars/
尽管文档中说要添加你已经添加的依赖,但你可能还需要添加以下依赖。
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>YOUR_KAFKA_VERSION</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
<version>YOUR_SPARK_VERSION</version>
</dependency>
它解决了我遇到的一些问题。
PS:我知道第二个依赖项是针对 Spark 流而不是结构化流,但值得一试。