@quickinsights Я обновил свой ответ, чтобы ответить на ваши вопросы.
тоящее время я пытаюсь легко передавать сообщения из Темы в одном кластере Kafka в другой (Удаленный -> Локальный кластер).
Идея состоит в том, чтобы сразу использовать Kafka-Streams, чтобы нам не нужно было реплицировать фактические сообщения на локальном кластере, а только получать «результаты» обработки Kafka-Streams в наши Kafka-Topics.
Допустим, демоверсия WordCount находится на одном Kafka-Instance на другом ПК, а не на моем. У меня также есть Kafka-Instance, работающий на моей локальной машине.
Теперь я хочу, чтобы демонстрационная программа WordCount работала в теме («удаленной»), содержащей предложения, слова которых должны учитываться.
Однако подсчет должен быть записан в раздел в моей локальной системе, а не в «удаленный» раздел.
Возможно ли что-то подобное с API Kafka-Streams?
Например.
val builder: KStreamBuilder = new KStreamBuilder(remote-streamConfig, local-streamconfig)
val textLines: KStream[String, String] = builder.stream("remote-input-topic",
remote-streamConfig)
val wordCounts: KTable[String, Long] = textLines
.flatMapValues(textLine => textLine.toLowerCase.split("\\W+").toIterable.asJava)
.groupBy((_, word) => word)
.count("word-counts")
wordCounts.to(stringSerde, longSerde, "local-output-topic", local-streamconfig)
val streams: KafkaStreams = new KafkaStreams(builder)
streams.start()
большое спасибо
Тим