Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает новый столбец карты из четного количества входных столбцов или ссылок на столбцы. Входные столбцы группируются в пары "ключ-значение", чтобы сформировать карту. Например, входные данные (key1, value1, key2, value2, ...) создают карту, которая связывает key1 со значением1, key2 со значением2 и т. д. Функция также поддерживает группировку столбцов в виде списка.
Синтаксис
from pyspark.sql import functions as sf
sf.create_map(*cols)
Параметры
| Параметр | Тип | Description |
|---|---|---|
cols |
pyspark.sql.Column или str |
Имена входных столбцов или объекты столбцов, сгруппированные в пары "ключ-значение". Они также могут быть выражены как список столбцов. |
Возвраты
pyspark.sql.Column: новый столбец типа карты, где каждое значение является картой, сформированной из соответствующих пар "ключ-значение", предоставленных в входных аргументах.
Примеры
Пример 1. Базовое использование функции create_map.
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
df.select(sf.create_map('name', 'age')).show()
+--------------+
|map(name, age)|
+--------------+
| {Alice -> 2}|
| {Bob -> 5}|
+--------------+
Пример 2. Использование функции create_map со списком столбцов.
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
df.select(sf.create_map([df.name, df.age])).show()
+--------------+
|map(name, age)|
+--------------+
| {Alice -> 2}|
| {Bob -> 5}|
+--------------+
Пример 3. Использование функции create_map с несколькими парами "ключ-значение".
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2, "female"),
("Bob", 5, "male")], ("name", "age", "gender"))
df.select(sf.create_map(sf.lit('name'), df['name'],
sf.lit('gender'), df['gender'])).show(truncate=False)
+---------------------------------+
|map(name, name, gender, gender) |
+---------------------------------+
|{name -> Alice, gender -> female}|
|{name -> Bob, gender -> male} |
+---------------------------------+
Пример 4. Использование функции create_map со значениями различных типов.
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2, 22.2),
("Bob", 5, 36.1)], ("name", "age", "weight"))
df.select(sf.create_map(sf.lit('age'), df['age'],
sf.lit('weight'), df['weight'])).show(truncate=False)
+-----------------------------+
|map(age, age, weight, weight)|
+-----------------------------+
|{age -> 2.0, weight -> 22.2} |
|{age -> 5.0, weight -> 36.1} |
+-----------------------------+