我正在使用 Kafka Streams 和 Scala 构建应用程序。在其中,我有一个用例,我必须在KStream
上应用map()
。
由于 Kafka Streams 不提供 Scala API,所以,我必须像这样编写map
函数:
val builder = new KStreamBuilder()
val originalStream = builder.stream("SourceTopic")
val mappedStream =
originalStream.map[String, Integer] {
new KeyValueMapper[String, String, KeyValue[String, Integer]] {
override def apply(key: String, value: String): KeyValue[String, Integer] = {
new KeyValue(key, new Integer(value.length))
}
}
}
上面的代码 compiles/runs 很好。但是,发出警告 - Convert Expression to Single Abstract Method
。
所以,我的问题是如何将上面的地图表达式转换为 SAM?
任何帮助表示赞赏!