transform_values(map, f)
Описание
Функция transform_values() применяет указанную функцию к значениям карты (map), сохраняя ключи без изменений.
Параметры
map: Column - карта (map)f: Column - функция, которая принимает значение и возвращает новое значение
Возвращаемое значение
Column - новая карта с преобразованными значениями
Пример использования
from pyspark.sql.functions import transform_values, map, expr
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("transform_values_example").getOrCreate()
# Создаем DataFrame с картами
data = [
    ({"a": 1, "b": 2, "c": 3},),
    ({"x": 10, "y": 20},)
]
df = spark.createDataFrame(data, ["map"])
# Преобразуем значения карты
result = df.withColumn(
    "doubled",
    transform_values("map", expr("(k, v) -> v * 2"))
).withColumn(
    "squared",
    transform_values("map", expr("(k, v) -> v * v"))
)
result.show(truncate=False)
# Результат:
# +----------------+----------------+----------------+
# |map             |doubled         |squared         |
# +----------------+----------------+----------------+
# |{a -> 1, b -> 2}|{a -> 2, b -> 4}|{a -> 1, b -> 4}|
# |{x -> 10, y -> 20}|{x -> 20, y -> 40}|{x -> 100, y -> 400}|
# +----------------+----------------+----------------+
 Примечания
- Возвращает NULL, если карта NULL
 - Функция применяется только к значениям, ключи остаются без изменений
 - Полезно для:
 - Преобразования значений карты
 - Вычисления производных значений
 - Создания новых карт на основе существующих
 - Связанные функции:
 transform_keys()- преобразование ключей картыmap_filter()- фильтрация элементов карты