Ich versuche, eine Textdatei (.gz) mit Spark 2.0/SparkSession zu lesen.Spark ignoriert letzte Felder mit Nullwerten
Der Feldtrenner ist ';'. Die ersten paar Felder werden korrekt geladen, aber die letzten Felder, in denen die Daten nicht vorhanden sind, werden von Funke nicht gelesen.
Zum Beispiel, bis ... h; 7 wird von Funken gelesen, aber nicht danach ... Null-Dateien werden behandelt, wenn sie vor h sind; 7 ;.
Kann ich wissen, warum Funken die letzten Felder ignorieren ???
File Format:
1;2;6;;;;;h;7;;;;;;;;;
Code:
JavaRDD<mySchema> peopleRDD = spark.read()
.textFile("file:///app/home/emm/zipfiles/myzips/")
.javaRDD()
.map(new Function<String, mySchema>()
{
@Override
public mySchema call(String line) throws Exception
{
String[] parts = line.split(";");
mySchema mySchema = new mySchema();
mySchema.setCFIELD1 (parts[0]);
mySchema.setCFIELD2 (parts[1]);
mySchema.setCFIELD3 (parts[2]);
mySchema.setCFIELD4 (parts[3]);
mySchema.setCFIELD5 (parts[4]);
................................
................................
return mySchema;
}
});