簡體   English   中英

Spark中的布爾值和嵌套bean的空指針異常

[英]Null pointer exception in spark for boolean and nested beans

我正在嘗試為bean類構建一個spark數據集,該類具有一個本身就是bean和一個布爾型字段的字段,但是這樣做卻得到了一個空指針異常。 如果在第二個字段中使用double而不是boolean,則null指針異常消失了。

以下是應付代碼段:

SparkSession  spark = SparkSession.builder().appName("Test").getOrCreate();
Encoder<cR> cREncoder = Encoders.bean(cR.class);

cR cR1 = new cR (4.5, new c("abc"));
cR cR2 = new  cR(5.5, new c("xyz"));
List<cR > listcR = Arrays.asList (cR1,cR2);

Dataset<cR > cRData= spark.createDataset(listcR,cREncoder);
System.out.println ("Duration in Main " + cR1.getDuration());
System.out.println ("Duration in Main " + cR2.getDuration());
cRData.printSchema();
cRData.show();

public class cR implements java.io.Serializable {
    public double duration;
//    public Boolean version;
    public c _c;

    public cR (double v, c cu) {
      this.duration = v;
      this._c = cu;
//      this.version = ver;
        System.out.println("Duration : " + this.duration);
    }

// getter setter methods for data member
}

public class c implements java.io.Serializable {
    public String id;

    public c (String s) {
      id= s;
    }

//getter and setters

}

看起來已經存在了很長時間的Spark問題。 解決方法是將bean類中的所有布爾值替換為布爾值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM