Attempting to replicate a simple word count example for Kafka Streams.
val groupedByWord: KTable<String, Long> = source
.flatMapValues<Any> { value: String ->
listOf(
value.lowercase(Locale.getDefault()).split("\\W+").toTypedArray()
)
}
.groupBy( { (key: String, word: String) -> word }, Grouped.with(Serdes.String(), Serdes.String()) )
Unfortunately compilation fails due to the second parameter in the groupby
being confused with Serialized.
None of the following functions can be called with the arguments supplied:
public abstract fun <KR : Any!> groupBy(p0: KeyValueMapper<in String!, in Any!, TypeVariable(KR)!>!, p1: Grouped<TypeVariable(KR)!, Any!>!): KGroupedStream<TypeVariable(KR)!, Any!>! defined in org.apache.kafka.streams.kstream.KStream
public abstract fun <KR : Any!> groupBy(p0: KeyValueMapper<in String!, in Any!, TypeVariable(KR)!>!, p1: Serialized<TypeVariable(KR)!, Any!>!): KGroupedStream<TypeVariable(KR)!, Any!>! defined in org.apache.kafka.streams.kstream.KStream
I'm looking for suggestions on how to resolve this.