【发布时间】:2016-05-13 10:48:14
【问题描述】:
在我的 groovy (spock) 单元测试中,我构建了一个 JavaDStream,然后我尝试用它做一些事情,依次处理每个 RDD。当我尝试使用 foreachRDD 或其他类似方法,通过传入一个 groovy 闭包将函数作为参数,我会遇到重载问题:
Cannot resolve which method to invoke for [class someClass] due to overlapping prototypes between:
[interface org.apache.spark.api.java.function.Function]
[interface org.apache.spark.api.java.function.Function2]
[interface org.apache.spark.api.java.function.VoidFunction]
[interface org.apache.spark.api.java.function.VoidFunction2]
我尝试做类似的事情:
JavaDStream wordStream = buildWordStream(textInputStream)
wordStream.foreachRDD({rdd,time -> println rdd.toString()})
是什么导致了上述输出。
【问题讨论】:
标签: java groovy apache-spark closures