Apache spark foreachRDD不接受JavaRDD<;字符串>;作为返回类型

Apache spark foreachRDD不接受JavaRDD<;字符串>;作为返回类型,apache-spark,spark-streaming,apache-spark-mllib,Apache Spark,Spark Streaming,Apache Spark Mllib,当我试图将JavaRDD作为新函数()的第二个参数而不是Void时 stream.foreachRDD( new Function<JavaRDD<String>,JavaRDD<String> >() { public JavaRDD<String> call(JavaRDD<String> inputRDD) throws Exception { // do some stuff } return RDD } stream.fo

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

stream.foreachRDD( new Function<JavaRDD<String>,JavaRDD<String> >() {

public JavaRDD<String> call(JavaRDD<String> inputRDD) throws Exception {
// do some stuff
}
return RDD
}
stream.foreachRDD(新函数(){
公共JavaRDD调用(JavaRDD inputRDD)引发异常{
//做点什么
}
返回RDD
}
下面是我得到的错误:

AbstractJavaDStreamLike,JavaRDD>类型中的方法foreachRDD(函数,Void>)不适用于参数(新函数,JavaRDD>(){})


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

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