如果我使用spark 1.6.2,scala 2.10和 spark-streaming-kafka_2.10
,我可以从scala代码中使用kafka 0.10.1.0中的消息吗(有一台远程计算机具有kafka 0.10.1.0、inter-broker协议版本:0.10.1.0和scala 2.11)。还是说我应该用spark 2.*?
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka_2.10</artifactId>
<version>1.6.2</version>
</dependency>
我在一些论坛上读到这篇文章,让我很困惑:
Kafka 0.10 support is only coming with Spark 2.0 on Scala and Java workloads
例如,为了使用消息,scala不处理kafka队列参数(broker list、zookeeper ip等),而是直接将它们发送给kafka,由kafka解释它们。对吗?在这种情况下,为什么kafka 0.10不支持spark 1.6.2?
更新:
从这个线程中,我了解到可以使用我在pom中指定的kafka(见上文)来使用kafka0.10.1.0中的消息,但不确定。是什么 Kafka client
什么意思?它是指安装在远程服务器上的Kafka(即Kafka0.10.1.0)还是指我在pom中指定的我的Kafka?
1条答案
按热度按时间9o685dep1#
0.10.1.0
这取决于您安装的Kafka版本。官方为每个版本提供两个二进制文件。如果您安装了scala 2.10,则应安装scala 2.10-Kafka2.10-0.10.1.0.tgz,否则应安装scala 2.11-Kafka2.11-0.10.1.0.tgz官方文档