map_entries(map)
Описание
Функция map_entries() возвращает массив структур, где каждая структура содержит пару ключ-значение из карты.
Параметры
map: Map - карта, из которой нужно получить записи
Возвращаемое значение
Array - массив структур с полями key и value
Пример использования
from pyspark.sql.functions import map_entries, map_from_arrays, array, lit
# Создаем DataFrame с картами
df = spark.createDataFrame([
    ({"name": "John", "age": 30, "salary": 50000},),
    ({"id": 1, "name": "Alice", "value": 100},),
    ({"date": "2023-01-01", "amount": 100.5, "category": "expense"},),
    (None,)
], ["map_data"])
# Получаем записи карты
df.select(
    "map_data",
    map_entries("map_data").alias("entries")
).show(truncate=False)
# Результат:
# +------------------------------------------+----------------------------------------------------------------+
# |map_data                                  |entries                                                         |
# +------------------------------------------+----------------------------------------------------------------+
# |{name -> John, age -> 30, salary -> 50000}|[{key -> name, value -> John}, {key -> age, value -> 30}, {key -> salary, value -> 50000}]|
# |{id -> 1, name -> Alice, value -> 100}    |[{key -> id, value -> 1}, {key -> name, value -> Alice}, {key -> value, value -> 100}]|
# |{date -> 2023-01-01, amount -> 100.5, category -> expense}|[{key -> date, value -> 2023-01-01}, {key -> amount, value -> 100.5}, {key -> category, value -> expense}]|
# |null                                      |null                                                           |
# +------------------------------------------+----------------------------------------------------------------+
# Пример с разными типами данных
df = spark.createDataFrame([
    ({"a": 1, "b": 2, "c": 3},),
    ({"x": 10.5, "y": 20.0, "z": 30.75},)
], ["map_data"])
df.select(
    "map_data",
    map_entries("map_data").alias("entries")
).show(truncate=False)
 Примечания
- Если карта NULL, возвращается NULL
 - Записи возвращаются в произвольном порядке
 - Для создания карты используйте 
map_from_arrays()илиstr_to_map() - Для получения только ключей используйте 
map_keys() - Для получения только значений используйте 
map_values() - Для проверки наличия ключа используйте 
map_contains_key()