我在Spark Java API项目中编写了mapToPair函数。我需要具有类似于Scala None和Some的功能,所以它可能对于特定的地图我不会返回任何内容(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。
答案 0 :(得分:2)
如果您使用的是Java 8,则可以使用Optional,这与Scala中的Option有些相似。您可以关注here了解更多信息。
或者您可以通过新的Some(数据)创建一些对象,并使用scala.None $ .MODULE $创建无。因为None是单身。