SparkSQL und explodieren auf Datenrahmen in Java

7

Gibt es einen einfachen Weg, wie explode für eine Array-Spalte in SparkSQL DataFrame verwendet? Es ist relativ einfach in Scala, aber diese Funktion scheint in Java nicht verfügbar zu sein (wie in javadoc erwähnt).

Eine Option ist die Verwendung von SQLContext.sql(...) und explode function innerhalb der Abfrage, aber ich suche nach etwas besserem und besonders sauberem Weg. DataFrame s werden aus Parkettdateien geladen.

    
JiriS 06.08.2015, 15:03
quelle

2 Antworten

6

Es scheint möglich, eine Kombination aus org.apache.spark.sql.functions.explode(Column col) und DataFrame.withColumn(String colName, Column col) zu verwenden, um die Spalte durch die explodierte Version zu ersetzen.

    
JiriS 15.10.2015, 10:21
quelle
12

Ich habe es auf diese Weise gelöst: Sagen Sie, dass Sie eine Array-Spalte mit Jobbeschreibungen mit dem Namen "positions" für jede Person mit "fullName" haben.

Dann erhalten Sie vom ursprünglichen Schema:

%Vor%

zum Schema:

%Vor%

indem Sie:

%Vor%     
marilena.oita 26.11.2015 10:08
quelle