Aller au contenu principal

map_values

Renvoie un tableau non ordonné contenant les valeurs de la carte.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.map_values(col)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de colonne ou d'expression

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de colonne ou d'expression

Renvoie

pyspark.sql.Column: Valeurs de la carte sous forme de tableau.

Exemples

Exemple 1 : Extraction de valeurs d'une carte simple

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

**Exemple 2 :** Extraction de valeurs à partir d'une carte avec des valeurs complexes.

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

Exemple 3 : Extraction de valeurs d'une carte avec des valeurs nulles

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

**Exemple 4** : Extraction de valeurs d'une carte avec des valeurs en double

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

Exemple 5 : Extraction de valeurs à partir d'une map vide.

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