Dataset<String> words = lines
.as(Encoders.STRING())
.flatMap((FlatMapFunction<String, String>) x -> Arrays.asList(x.split(" ")).iterator(), Encoders.STRING());
看着像是强制类型转换。去掉的话,错误信息是不是与类型有关
又看了下,主要跟后面的split相关,似乎直接调用函数,无法知道x的类型,但是我不明白为什么不直接(String x)-> Arrays.asList(x.split(" ")).iterator()