在看spark官方文档时遇到一个问题,用java写spark structured streaming的flatMap的参数为什么不能直接写lambda函数,却要在参数前面加上(FlatMapFunction<String, String>)
官方给出的代码是这样:
Dataset<String> words = lines
.as(Encoders.STRING())
.flatMap((FlatMapFunction<String, String>) x -> Arrays.asList(x.split(" ")).iterator(), Encoders.STRING());