1
我有以下類別:星火:.saveAsTextFile失去繼承領域的Java對象
public final class Derived extends AbstractBase implements Serializable {
private static final long serialVersionUID = 1L;
private String fieldA
:
}
public abstract class AbstractBase {
protected List<String> sources = new ArrayList<String>();
public final String toJsonString() {
return (new Gson()).toJson(this);
}
@Override
public final String toString() {
return toJsonString();
}
:
}
然後在我的星火工作:
val myRDD: RDD[Derived] = input.map {
...
}.saveAsTextFile("myOutput")
每個Derived
對象在MyOutput中文件JSON字符串總是缺少sources
列表。但是,如果我手動從AbstractBase
移動
protected List<String> sources = new ArrayList<String>();
到Derived
類,一切工作正常。
有誰知道爲什麼在Spark-saveAsTextfile方法中遺漏了一個字段?
謝謝!
你有複製?我不認爲這是'saveAsTextFile'的問題。你可以使用'collect()。foreach(println)'來檢查它是否輸出相同的結果。 – zsxwing