hat Wenn ich einen Datenrahmen aus einer JSON-Datei in Funken SQL erstellen, wie kann ich, wenn eine bestimmte Spalte sagen existiert, bevor .select
Wie erkenne ich, ob ein Funke Datenrahmen eine Spalte
Beispiel zum Beispiel json Schema
Aufruf{
"a": {
"b": 1,
"c": 2
}
}
Dies ist, was ich tun möchte:
potential_columns = Seq("b", "c", "d")
df = sqlContext.read.json(filename)
potential_columns.map(column => if(df.hasColumn(column)) df.select(s"a.$column"))
aber ich kann eine gute Funktion für hasColumn
nicht finden. Der nächstgelegene ich bekommen habe, ist zu prüfen, ob die Spalte in diesem etwas umständlich Array ist:
scala> df.select("a.*").columns
res17: Array[String] = Array(b, c)
kehrt nicht mit der Arbeit verschachtelte Spalten. von json '{" a ": {" b ": 1," c ": 0}}' – ben