无法解析方法'flatMap(<lambdaexpression>)'错误

时间:2017-06-16 10:57:49

标签: java apache-spark intellij-idea

我是apache spark的新手并尝试运行wordcount example。但intellij编辑器在第47行给出了错误 无法解析方法'flatMap()'错误

编辑: 这是我收到错误的行

JavaRDD<String> words = lines.flatMap(s -> Arrays.asList(SPACE.split(s)).iterator());

4 个答案:

答案 0 :(得分:0)

您似乎正在使用较早版本的Spark,而$this->simple_login->check_login();功能需要Iterable而不是Iterator。试试这个:

flatMap()

另见Follow this link

答案 1 :(得分:0)

Stream#flatMap用于将多个流合并为一个,因此您提供的供应商方法必须返回Stream结果。

你可以这样试试:

lines.stream().flatMap(line -> Stream.of(SPACE.split(line))) .map(word -> // map to JavaRDD)

答案 2 :(得分:-1)

flatMap方法将FlatMapFunction作为未使用@FunctionalInterface注释的参数。所以你确实不能把它用作lambda。

只需构建一个真实的FlatMapFunction对象作为参数,您就会确定它。

答案 3 :(得分:-1)

flatMap()是Java 8 Stream API。我想你应该检查IDEA编译java版本。

编译java版本 [1]