Поделиться через


map_keys

Возвращает неупорядоченный массив, содержащий ключи карты.

Синтаксис

from pyspark.sql import functions as sf

sf.map_keys(col)

Параметры

Параметр Тип Description
col pyspark.sql.Column или str Имя столбца или выражения

Возвраты

pyspark.sql.Column: ключи карты в виде массива.

Примеры

Пример 1. Извлечение ключей из простой карты

from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a', 2, 'b') as data")
df.select(sf.sort_array(sf.map_keys("data"))).show()
+--------------------------------+
|sort_array(map_keys(data), true)|
+--------------------------------+
|                          [1, 2]|
+--------------------------------+

Пример 2. Извлечение ключей из карты с помощью сложных ключей

from pyspark.sql import functions as sf
df = spark.sql("SELECT map(array(1, 2), 'a', array(3, 4), 'b') as data")
df.select(sf.sort_array(sf.map_keys("data"))).show()
+--------------------------------+
|sort_array(map_keys(data), true)|
+--------------------------------+
|                [[1, 2], [3, 4]]|
+--------------------------------+

Пример 3. Извлечение ключей из пустой карты

from pyspark.sql import functions as sf
df = spark.sql("SELECT map() as data")
df.select(sf.map_keys("data")).show()
+--------------+
|map_keys(data)|
+--------------+
|            []|
+--------------+