map_valores
Retorna um array não ordenado contendo os valores do mapa.
Sintaxe
Python
from pyspark.sql import functions as sf
sf.map_values(col)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nome da coluna ou expressão |
Devoluções
pyspark.sql.ColumnValores do mapa em formato de array.
Exemplos
Exemplo 1 : Extraindo valores de um mapa simples
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_values("data"))).show()
Output
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [a, b]|
+----------------------------------+
Exemplo 2 : Extraindo valores de um mapa com valores complexos
Python
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()
Output
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [[a, b], [c, d]]|
+----------------------------------+
Exemplo 3 : Extraindo valores de um mapa com valores nulos
Python
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()
Output
+----------------------------------+
|sort_array(map_values(data), true)|
+----------------------------------+
| [NULL, b]|
+----------------------------------+
Exemplo 4 : Extraindo valores de um mapa com valores duplicados
Python
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()
Output
+----------------+
|map_values(data)|
+----------------+
| [a, a]|
+----------------+
Exemplo 5 : Extraindo valores de um mapa vazio
Python
from pyspark.sql import functions as sf
df = spark.sql("SELECT map() as data")
df.select(sf.map_values("data")).show()
Output
+----------------+
|map_values(data)|
+----------------+
| []|
+----------------+