0
Beanクラスのスパークデータセットを作成しようとしていますが、それ自体がBeanおよびブール値フィールドのフィールドを持っていますが、 。 2番目のフィールドにブール値の代わりに2倍を使用すると、NULLポインターの例外はなくなります。ブール型およびネスト型のBeanのスパークにおけるヌルポインタ例外
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
}
Booleanはオブジェクトですが、doubleはプリミティブです。 –
まだオブジェクトであっても、なぜ機能しないのですか? – user1534615
NullPointerExceptionがどこで発生しているのかを具体的に知ることができますか?あなたのコメントされたコードから元の問題が何であるかを伝えるのは難しいです。 –