map_concat

Verilen tüm haritaların birleşimini döndürür. Giriş eşlemelerindeki yinelenen anahtarlar için işleme işlemi tarafından spark.sql.mapKeyDedupPolicyyönetilir. Varsayılan olarak, bir özel durum oluşturur. olarak ayarlanırsa LAST_WIN, son eşlemenin değerini kullanır.

Sözdizimi

from pyspark.sql import functions as sf

sf.map_concat(*cols)

Parametreler

Parametre Türü Description
cols pyspark.sql.Column veya str Sütun adları veya Sütun

İade

pyspark.sql.Column: Diğer haritalara ait birleştirilmiş girdilerin haritası.

Örnekler

Örnek 1: map_concat temel kullanımı

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

Örnek 2: Üç harita ile map_concat

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

Örnek 3: Boş harita ile map_concat

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

Örnek 4: null değerlerle map_concat

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