在Spark Java API中等效Scala some和none

时间:2017-04-21 09:00:47

标签: java scala apache-spark

我在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。

1 个答案:

答案 0 :(得分:2)

如果您使用的是Java 8,则可以使用Optional,这与Scala中的Option有些相似。您可以关注here了解更多信息。

或者您可以通过新的Some(数据)创建一些对象,并使用scala.None $ .MODULE $创建无。因为None是单身。