我正在使用 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?

任何帮助表示赞赏!