Как потреблять Kakfa topic messages
в нескольких потребителей с помощью Direct Stream approach?
Спарк Direct Streaming - потреблять такое же сообщение в нескольких потребителей
Возможно ли это? Поскольку подход Direct Stream не имеет концепции Consumer Group
.
Что происходит, если я передаю group.id
как kafkaparams для метода DirectStream? Нижеприведенный код работает with group.id
как Kafka Params также without group.id
.
Пример кода:
val kafkaParams = Map(
"group.id" -> "group1",
CommonClientConfigs.SECURITY_PROTOCOL_CONFIG -> sasl,
ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG -> "org.apache.kafka.common.serialization.StringDeserializer",
ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG -> "org.apache.kafka.common.serialization.StringDeserializer",
"metadata.broker.list" -> brokerList,
"zookeeper.connect" -> zookeeperURL
)
val dStream =
KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](
ssc, kafkaParams, topicSet
).map(_._2)