我在 Spark Java API 项目中编写了一个 mapToPair 函数。我需要有一个类似于 Scala None 和 Some 的功能,所以对于特定的 map ,我可能不会返回任何内容(scala 中没有)
JavaPairRDD<DateTime,Row> sensorDataDoubleRDD= sensorDataDoubleDF.toJavaRDD().mapToPair(new PairFunction<Row,DateTime,Row>()
{
private static final long serialVersionUID = 8355799038879757766L;
@Override
public Tuple2<DateTime,Row> call(Row row) {
//return new Tuple2("s",1);
return null;
}
});
System.out.println("the count is: "+sensorDataDoubleRDD.count());
例如,运行上述代码始终返回正计数值,而不是 0。
最佳答案
如果您使用的是 Java 8,您可以使用Optional,它与 scala 中的 Option 非常相似。您可以关注here了解更多。
或者你可以通过 new Some(data) 创建 Some 对象,通过 scala.None$.MODULE$ 创建 None 对象,因为 None 是单例。
关于java - Spark Java API 中 Scala some 和 none 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43538317/