¿Cómo agregar una columna a una estructura explotada en Spark?
Digamos que tengo los siguientes datos:
{"id":1, "payload":[{"foo":1, "lol":2},{"foo":2, "lol":2}]}
Me gustaría explotar la carga útil y agregarle una columna, como esta:
df = df.select('id', F.explode('payload').alias('data'))
df = df.withColumn('data.bar', F.col('data.foo') * 2)
Sin embargo, esto da como resultado un marco de datos con tres columnas:
id
data
data.bar
Esperaba eldata.bar
ser parte de ladata
estructura ...
¿Cómo puedo agregar una columna a la estructura explotada, en lugar de agregar una columna de nivel superior?