回傳一個包含映射物件鍵值的無序數組。
語法
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)|
+--------------+
| []|
+--------------+