다음을 통해 공유


map_entries

지정된 맵에 있는 모든 항목의 순서가 지정되지 않은 배열을 반환합니다.

문법

from pyspark.sql import functions as sf

sf.map_entries(col)

매개 변수

매개 변수 유형 Description
col pyspark.sql.Column 또는 str 열 또는 식의 이름

Returns

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_entries("data"))).show()
+-----------------------------------+
|sort_array(map_entries(data), true)|
+-----------------------------------+
|                   [{1, a}, {2, b}]|
+-----------------------------------+

예제 2: 복잡한 키와 값이 있는 맵에서 항목 추출

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)
+------------------------------------+
|sort_array(map_entries(data), true) |
+------------------------------------+
|[{[1, 2], [a, b]}, {[3, 4], [c, d]}]|
+------------------------------------+

예제 3: 빈 맵에서 항목 추출

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