Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Gibt die Vereinigung aller angegebenen Karten zurück. Bei doppelten Schlüsseln in Eingabezuordnungen wird die Behandlung von spark.sql.mapKeyDedupPolicy. Standardmäßig wird eine Ausnahme ausgelöst. Wenn dieser Wert festgelegt ist LAST_WIN, wird der Wert der letzten Karte verwendet.
Syntax
from pyspark.sql import functions as sf
sf.map_concat(*cols)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
cols |
pyspark.sql.Column oder str |
Spaltennamen oder Spalte |
Rückkehr
pyspark.sql.Column: Eine Karte mit zusammengeführten Einträgen aus anderen Karten.
Examples
Beispiel 1: Grundlegende Verwendung von map_concat
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a', 2, 'b') as map1, map(3, 'c') as map2")
df.select(sf.map_concat("map1", "map2")).show(truncate=False)
+------------------------+
|map_concat(map1, map2) |
+------------------------+
|{1 -> a, 2 -> b, 3 -> c}|
+------------------------+
Beispiel 2: map_concat mit drei Karten
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a') as map1, map(2, 'b') as map2, map(3, 'c') as map3")
df.select(sf.map_concat("map1", "map2", "map3")).show(truncate=False)
+----------------------------+
|map_concat(map1, map2, map3)|
+----------------------------+
|{1 -> a, 2 -> b, 3 -> c} |
+----------------------------+
Beispiel 3: map_concat mit leerer Karte
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a', 2, 'b') as map1, map() as map2")
df.select(sf.map_concat("map1", "map2")).show(truncate=False)
+----------------------+
|map_concat(map1, map2)|
+----------------------+
|{1 -> a, 2 -> b} |
+----------------------+
Beispiel 4: map_concat mit Nullwerten
from pyspark.sql import functions as sf
df = spark.sql("SELECT map(1, 'a', 2, 'b') as map1, map(3, null) as map2")
df.select(sf.map_concat("map1", "map2")).show(truncate=False)
+---------------------------+
|map_concat(map1, map2) |
+---------------------------+
|{1 -> a, 2 -> b, 3 -> NULL}|
+---------------------------+