Freigeben über


map_values

Gibt ein ungeordnetes Array zurück, das die Werte der Map enthält.

Syntax

from pyspark.sql import functions as sf

sf.map_values(col)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Name der Spalte oder des Ausdrucks

Rückkehr

pyspark.sql.Column: Werte der Karte als Array.

Examples

Beispiel 1: Extrahieren von Werten aus einer einfachen Karte

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

Beispiel 2: Extrahieren von Werten aus einer Karte mit komplexen Werten

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

Beispiel 3: Extrahieren von Werten aus einer Karte mit Nullwerten

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

Beispiel 4: Extrahieren von Werten aus einer Karte mit doppelten Werten

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

Beispiel 5: Extrahieren von Werten aus einer leeren Karte

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