Wie kann man eine Struktur in einem Spark-Dataframe glätten?

10

Ich habe einen Datenrahmen mit folgender Struktur:

%Vor%

Wie es möglich ist, die Struktur zu glätten und einen neuen Datenrahmen zu erstellen:

%Vor%

Gibt es etwas wie explodieren, aber für Strukturen?

    
djWann 03.08.2016, 21:24
quelle

3 Antworten

24

Dies sollte in Spark 1.6 oder höher funktionieren:

%Vor%

oder

%Vor%     
2 revsuser6022341 03.08.2016, 22:01
quelle
1

Eine einfache Möglichkeit besteht darin, SQL zu verwenden. Sie könnten eine SQL-Abfragezeichenfolge erstellen, um die verschachtelte Spalte als Alias ​​zu formatieren.

  1. Abrufen des Datenrahmenschemas (df.schema ())
  2. Verwandeln Sie das Schema in SQL (für (field: schema (). fields ()) ....
  3. Abfrage "val newDF = sqlContext.sql ("SELECT" + sqlGenerated + "FROM Quelle")

Ein Beispiel in Java:

Ссылка

(Ich bevorzuge SQL Way, so dass Sie es leicht auf Spark-Shell testen können und es ist spracheübergreifend).

    
Thomas Decaux 11.04.2017 19:53
quelle
0

Hier ist die Funktion, die tut, was Sie wollen und die mit mehreren verschachtelten Spalten arbeiten kann, die Spalten mit demselben Namen enthalten:

%Vor%

Vorher:

%Vor%

Nachher: ​​

%Vor%     
steco 28.03.2018 10:47
quelle