맵의 값을 포함하는 순서가 지정되지 않은 배열을 반환합니다.
문법
from pyspark.sql import functions as sf
sf.map_values(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_values("data"))).show()
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [a, b]|
+----------------------------------+
예제 2: 복잡한 값이 있는 맵에서 값 추출
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, array('a', 'b'), 2, array('c', 'd')) as data")
df.select(sf.sort_array(sf.map_values("data"))).show()
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [[a, b], [c, d]]|
+----------------------------------+
예제 3: null 값이 있는 맵에서 값 추출
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, null, 2, 'b') as data")
df.select(sf.sort_array(sf.map_values("data"))).show()
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [NULL, b]|
+----------------------------------+
예제 4: 중복 값이 있는 맵에서 값 추출
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a', 2, 'a') as data")
df.select(sf.map_values("data")).show()
+----------------+
|map_values(data)|
+----------------+
| [a, a]|
+----------------+
예제 5: 빈 맵에서 값 추출
from pyspark.sql import functions as sf
df = spark.sql("SELECT map() as data")
df.select(sf.map_values("data")).show()
+----------------+
|map_values(data)|
+----------------+
| []|
+----------------+