Kiedy tworzę DataFrame z pliku json w zapłonowej SQL, w jaki sposób mogę sprawdzić, czy dana kolumna występuje przed wywołaniem .select
jaki sposób wykryć, czy dataframe iskra ma kolumnę
przykład na przykład schematu json
{
"a": {
"b": 1,
"c": 2
}
}
to jest to, co chcę zrobić:
potential_columns = Seq("b", "c", "d")
df = sqlContext.read.json(filename)
potential_columns.map(column => if(df.hasColumn(column)) df.select(s"a.$column"))
ale nie mogę znaleźć dobrego funkcję hasColumn
. Najbliższy stałam jest sprawdzenie, czy kolumna jest w tym nieco nietypowej tablicy:
scala> df.select("a.*").columns
res17: Array[String] = Array(b, c)
To nie działa z zagnieżdżone kolumny. from json '{" a ": {" b ": 1," c ": 0}}' – ben