Pular para o conteúdo principal

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

col

pyspark.sql.Column ou str

Nome da coluna ou expressão

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

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)|
+----------------+
| []|
+----------------+