Benennen Sie verschachtelte Feld in Spark DataFrame umPython

Python-Programme
Anonymous
 Benennen Sie verschachtelte Feld in Spark DataFrame um

Post by Anonymous »

mit einem DataFrame DF < /code> in Spark: < /p>

Code: Select all

 |-- array_field: array (nullable = true)
|    |-- element: struct (containsNull = true)
|    |    |-- a: string (nullable = true)
|    |    |-- b: long (nullable = true)
|    |    |-- c: long (nullable = true)
< /code>

Wie umbenannt ich das Feld array_field.a < /code> in array_field.a_renamed < /code>?.withColumnRenamed()< /code> funktioniert nicht mit verschachtelten Feldern, also habe ich diese hacky und unsichere Methode ausprobiert: < /p>

# First alter the schema:
schema = df.schema
schema['array_field'].dataType.elementType['a'].name = 'a_renamed'

ind = schema['array_field'].dataType.elementType.names.index('a')
schema['array_field'].dataType.elementType.names[ind] = 'a_renamed'

# Then set dataframe's schema with altered schema
df._schema = schema
Ich weiß, dass das Einstellen eines privaten Attributs keine gute Praxis ist, aber ich weiß nicht, wie ich das Schema für df

Ich denke, ich bin auf einem richtigen Track, aber df.printschema () zeigt den alten Namen für Array_Field. True

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post