Java 为什么是";“主题”;KafkaUtils.createStream()的参数是映射,而不是数组?
文档中的定义: org.apache.spark.streaming.kafka 卡夫卡提尔类Java 为什么是";“主题”;KafkaUtils.createStream()的参数是映射,而不是数组?,java,apache-spark,apache-kafka,spark-streaming,Java,Apache Spark,Apache Kafka,Spark Streaming,文档中的定义: org.apache.spark.streaming.kafka 卡夫卡提尔类 静态JavaPairReceiverInputStream createStream(JavaStreamingContext jssc、String zkQuorum、String groupId、java.util.Map主题) 创建从Kafka代理提取消息的输入流 为什么主题是映射(而不是字符串数组) 我知道字符串键是主题名。但是整数值呢?我应该填写什么?阅读: 公共静态JavaPairRec
静态JavaPairReceiverInputStream createStream(JavaStreamingContext jssc、String zkQuorum、String groupId、java.util.Map主题)
创建从Kafka代理提取消息的输入流
为什么主题是映射(而不是字符串数组)
我知道字符串键是主题名。但是整数值呢?我应该填写什么?阅读:
公共静态JavaPairReceiverInputStream createStream(JavaStreamingContext jssc,
字符串zkQuorum,
字符串groupId,
java.util.Map主题)
创建从Kafka代理提取消息的输入流。数据的存储级别将是默认的StorageLevel.MEMORY\u和磁盘\u SER\u 2
参数:
jssc-JavaStreamingContext对象
zkQuorum-Zookeeper仲裁(主机名:端口,主机名:端口,…)
groupId—此使用者的组id
主题-要消费的(主题名称->numPartitions)地图每个分区在其自己的线程中使用
返回:
数据流(卡夫卡消息键、卡夫卡消息值)
Map
的值是给定主题名称的分区数,它决定了将用于使用主题的线程数。来自Javadoc:
topics-要消费的(topic_name->numPartitions)的映射。每个分区在其自己的线程中使用
因此,每个数字都是您想要用于该主题的分区数如果您看到
KafkaUtils
的createStream
方法的文档,您会看到
topics-要消费的(topic_name->numPartitions)的映射。每个分区在其自己的线程中使用
整数值是主题的分区数,作为映射中键的一部分
static JavaPairReceiverInputDStream<String,String> createStream(JavaStreamingContext jssc, String zkQuorum, String groupId, java.util.Map<String,Integer> topics)