Wie passen Dataframe-Spaltennamen zu Scala-Fallklassenattributen zusammen?

9

Die Spaltennamen in diesem Beispiel von spark-sql stammen von case class Person .

%Vor%

Ссылка

In vielen Fällen können die Parameternamen jedoch geändert werden. Dies würde dazu führen, dass Spalten nicht gefunden werden, wenn die Datei nicht aktualisiert wurde, um die Änderung widerzuspiegeln.

Wie kann ich eine geeignete Zuordnung angeben?

Ich denke so etwas wie:

%Vor%     
BAR 12.09.2015, 04:50
quelle

1 Antwort

7

Grundsätzlich kann das gesamte Mapping mit DataFrame.select(...) erreicht werden. (Hier gehe ich davon aus, dass keine Typkonvertierungen vorgenommen werden müssen.) Angesichts der Vorwärts- und Rückwärts-Abbildung als Karten ist der wesentliche Teil

%Vor%

wobei mapping ein Array von Column s mit Alias ​​ist.

Beispielcode

%Vor%

Bemerkung

Wenn Sie einen Datenrahmen wieder in eine RDD [Person] konvertieren müssen, dann

%Vor%

Alternativen

Sehen Sie sich auch Wie Spark SchemaRDD in RDD meiner Fallklasse konvertieren?

    
Martin Senne 12.09.2015, 10:55
quelle