我目前陷入了困境。我尝试使用Spark Streaming与Kafka和MongoDB一起实现Kafka偏移处理逻辑。进出MongoDB的偏移量持久性做了它应该做的事情,但当我尝试使用以下方法创建直接流时:
JavaInputDStream<ConsumerRecord<String, String>> events = KafkaUtils.createDirectStream(
jsc,
LocationStrategies.PreferConsistent(),
ConsumerStrategies.<String, String>Assign(committedOffsetRanges.keySet(),kafkaParams, committedOffsetRanges)
);
我得到以下异常(为简洁起见删除了很多行):
at org.apache.spark.streaming.kafka010.ConsumerStrategies.Assign(ConsumerStrategy.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.internal.Logging
我使用以下依赖项:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>${spark-version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.10</artifactId>
<version>${spark-version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka-0-10-assembly_2.10</artifactId>
<version>2.2.0</version>
</dependency>
$ {spark-version}设置为&#34; 1.6.0-cdh5.12.1&#34;。
我已经读过org.apache.spark.internal.Logging
存在至1.5的Spark版本,但不幸的是我无法降级。
嗯......有没有人找到解决方案或至少解决方法?