foreachRDD 不接受 JavaRDD<String> 作为返回类型



当我试图将JavaRDD作为新函数((而不是Void的第二个参数时。

stream.foreachRDD( new Function<JavaRDD<String>,JavaRDD<String> >() {
public JavaRDD<String> call(JavaRDD<String> inputRDD) throws Exception {
// do some stuff
}
return RDD
}

我得到以下错误:

类型为 AbstractJavaDStreamLike,JavaRDD> 中的 eachRDD(Function,Void>( 方法不适用于参数 (new Function,JavaRDD>(({}(

DStream 上的foreachRDD函数需要一个不返回值的方法。 具体来说,它必须实现VoidFunction接口。

foreachRDD的目标是对流中的一批数据执行操作,例如将其保存到永久存储或将其发布到显示器。 我不完全确定你想做什么,但如果你想以任何方式改变RDD,这不是适合你的方法。

最新更新