Genauer gesagt, in hadoop MapReduce-Programmen, wenn Sie benutzerdefinierte Klassen verwenden, muss die Klasse Writeable-Schnittstelle implementieren. und alle seine Mitglieder müssen beschreibbar sein, z.B.ist es eine gute Idee, Getter/Setter-Methoden zu verwenden, um die Java-Objekte in Writeable Objects einzubinden/auszupacken?
aber seit Text, LongWritable, IntWritable etc. Klassen sind schreibbare Wrapper-Klassen für primitive Datentypen. Sie können nicht regelmäßig Manipulationen mit ihnen zu tun, wie arithmetischen Operationen oder String-Manipulation usw.
mit Getter Setter-Methoden wie
public String getStationId(){
return this.stationId.toString();
}
public void setStationId(String stationID){
this.stationId = new Text(stationID);
}
vorteilhaft wären, wie die Außenwelt diese Elemente als reguläre Java-Klassen behandeln kann, aber intern werden sie als Objekte beschreibbarer Klassen gespeichert.
Meine Frage ist, ob es eine gute Programmierpraxis ist oder nicht. Was sind mögliche Fallstricke mit solchen Getter/Setter-Methoden?
Danke für die Antwort. Ich dachte an Writable als ähnlich wie Serializable. Von dort kam die Verwirrung. – user2368812