Überprüfen Sie, ob ein Element in einem StructType in einem Spark DataFrame vorhanden istPython

Python-Programme
Anonymous
 Überprüfen Sie, ob ein Element in einem StructType in einem Spark DataFrame vorhanden ist

Post by Anonymous »

Ich habe in Python einen Spark-DataFrame mit verschachtelten Spalten und den Pfad a.b.c und möchte prüfen, ob nach c eine verschachtelte Spalte namens d vorhanden ist, also ob a.b.c.d vorhanden ist.

Einfache Überprüfung df.columns['a']['b']['c']['d'] oder df.columns['a.b.c.d'] scheint nicht zu funktionieren, daher habe ich festgestellt, dass die df.schema-Funktion verwendet werden kann.
Also iteriere ich einfach durch z. B.:

Code: Select all

y = df.schema['a'].dataType['b'].dataType['c'].dataType
und sollte dann normalerweise prüfen, ob d in y ist.

Ich habe es einfach so gemacht: try y['d'], und wenn es fehlschlägt, dann existiert es nicht.
Aber ich denke nicht, dass die Verwendung von try der beste Weg ist.

Also habe ich versucht zu überprüfen, ob 'd' in y, aber anscheinend funktioniert das nicht, obwohl das Abrufen des Elements y['d'] funktioniert, wenn es existiert.

Der Typ von y ist StructType(List(StructField(d,StringType,true),...andere Spalten))

Ich weiß also nicht wirklich, wie ich richtig prüfen kann, ob d in y ist. Warum kann ich nicht direkt prüfen, ob 'd' in y ist, wenn ich y['d'] abrufen kann? Kann jemand helfen? Ich bin auch neu in Python, kann aber keine andere Lösung finden oder mir vorstellen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post