Apache kafka Kafkastream springcloud kafka加入选择键
你能帮我配置一个基于Kafka的SpringCloudStream应用程序吗?我在selectKey操作上遇到了问题 让我们解释一下我想要达到的目标 2个传入主题个人,参考类型 Person包含Refgenre的键(值) } 以下是我不工作工作的完整代码:Apache kafka Kafkastream springcloud kafka加入选择键,apache-kafka,apache-kafka-streams,spring-cloud-stream,Apache Kafka,Apache Kafka Streams,Spring Cloud Stream,你能帮我配置一个基于Kafka的SpringCloudStream应用程序吗?我在selectKey操作上遇到了问题 让我们解释一下我想要达到的目标 2个传入主题个人,参考类型 Person包含Refgenre的键(值) } 以下是我不工作工作的完整代码: 有更好的方法来处理这个用例吗?拓扑我认为您上次的join调用有一些问题。在ValueJoiner(连接join的第二个参数)中,第一个参数是个人,但您正在传入类型为personwithgenresorde的Serde,它采用PersonWit
有更好的方法来处理这个用例吗?拓扑我认为您上次的
join
调用有一些问题。在ValueJoiner
(连接join
的第二个参数)中,第一个参数是个人
,但您正在传入类型为personwithgenresorde
的Serde
,它采用PersonWithGenre
类型。这需要是一个Serde
,可以处理Person
类型。再次感谢;)有没有办法用新键命名重新分区主题?在我们的代理上不允许自动创建主题。有没有更好的方法来提供相同的结果而不必花费主题创建的成本?拓扑我认为您上次的join
呼叫有一些问题。在ValueJoiner
(连接join
的第二个参数)中,第一个参数是个人
,但您正在传入类型为personwithgenresorde
的Serde
,它采用PersonWithGenre
类型。这需要是一个Serde
,可以处理Person
类型。再次感谢;)有没有办法用新键命名重新分区主题?在我们的代理上不允许自动创建主题。有没有更好的方法来提供相同的结果而不必花费主题创建的成本?
public class Person {
String nom;
String prenom;
String codeGenre; <<--- here is the key of the second topic refgenre
}
@Bean
public BiFunction<KStream<String, Person>, KTable<String, ReferentielGenre>, KStream<Long, PersonWithGenre>> joinKtable() {
return (persons, referentielGenres) ->
persons.selectKey((k,v) -> v.getCodeGenre())
.join(referentielGenres,
(person, genre) -> new PersonWithGenre(person.getNom(), person.getPrenom(),genre),
Joined.with(Serdes.String(), new PersonWithGenreSerde(), null));