メインコンテンツまでスキップ

マップキー

マップのキーを含む順序付けられていない配列を返します。

構文

Python
from pyspark.sql import functions as sf

sf.map_keys(col)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

列または式の名前

戻り値

pyspark.sql.Column: マップのキーを配列として表します。

例1 : 単純なマップからキーを抽出する

Python
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()
Output
+--------------------------------+
|sort_array(map_keys(data), true)|
+--------------------------------+
| [1, 2]|
+--------------------------------+

例2 : 複雑なキーを持つマップからキーを抽出する

Python
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()
Output
+--------------------------------+
|sort_array(map_keys(data), true)|
+--------------------------------+
| [[1, 2], [3, 4]]|
+--------------------------------+

例3 : 空のマップからキーを抽出する

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