マップエントリ
指定されたマップ内のすべてのエントリの順序付けられていない配列を返します。
構文
Python
from pyspark.sql import functions as sf
sf.map_entries(col)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 列または式の名前 |
戻り値
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_entries("data"))).show()
Output
+-----------------------------------+
|sort_array(map_entries(data), true)|
+-----------------------------------+
| [{1, a}, {2, b}]|
+-----------------------------------+
例2 : 複雑なキーと値を持つマップからエントリを抽出する
Python
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(array(1, 2), array('a', 'b'), "
"array(3, 4), array('c', 'd')) as data")
df.select(sf.sort_array(sf.map_entries("data"))).show(truncate=False)
Output
+------------------------------------+
|sort_array(map_entries(data), true) |
+------------------------------------+
|[{[1, 2], [a, b]}, {[3, 4], [c, d]}]|
+------------------------------------+
例3 : 空のマップからエントリを抽出する
Python
from pyspark.sql import functions as sf
df = spark.sql("SELECT map() as data")
df.select(sf.map_entries("data")).show()
Output
+-----------------+
|map_entries(data)|
+-----------------+
| []|
+-----------------+