У меня сложная структура DataFrame и я хотел бы легко удалить столбец. Я создал неявные классы, которые связывают функциональность и легко адресуют структуры 2D DataFrame, но как только DataFrame становится более сложным с ArrayType или MapType, мне не повезло. Например:Как изменить Spark Dataframe со сложной вложенной структурой?
я схема определяется как:
StructType(
StructField(name,StringType,true),
StructField(data,ArrayType(
StructType(
StructField(name,StringType,true),
StructField(values,
MapType(StringType,StringType,true),
true)
),
true
),
true)
)
Я хотел бы, чтобы произвести новый DF, который имеет поле data.value
из MapType установлен в нуль, но так как это элемент массива I не смогли выяснить, как это сделать. Я думаю, что это было бы похоже на:
df.withColumn("data.values", functions.array(functions.lit(null)))
, но это в конечном счете создает новый столбец data.values
и не изменяет values
элемента массива данных.