2017-04-21 75 views
1

我在Spark Java API項目中編寫了mapToPair函數。我需要有類似於斯卡拉無和功能的一些,因此可能對特定的地圖,我不返回任何東西(Scala中無)在Spark Java API中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

如果您有java 8,您現有的代碼可能會減少到: 'JavaPairRDD sensorDataDoubleRDD = sensorDataDoubleDF.toJavaRDD()。mapToPair(x-> null);'。如果你想堅持java,至少應該使用支持lamda表達式的java 8。 – vefthym

回答

2

如果您使用的是Java 8,那麼您可以使用Optional,它與Scala中的Option類似。您可以按照here瞭解更多信息。

或者你可以通過新建一些對象(數據)和無scala.None $ .MODULE $來創建一個對象,因爲無是單例。