通过


map_keys

返回包含映射键的无序数组。

Syntax

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)|
+--------------+
|            []|
+--------------+