mapa_concat
Retorna a união de todos os mapas fornecidos. Para chaves duplicadas em mapas de entrada, o tratamento é regido por spark.sql.mapKeyDedupPolicy. Por default, ele lança uma exceção. Se definido como LAST_WIN, ele usa o valor do último mapa.
Sintaxe
Python
from pyspark.sql import functions as sf
sf.map_concat(*cols)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nomes de colunas ou colunas |
Devoluções
pyspark.sql.ColumnUm mapa de entradas mescladas de outros mapas.
Exemplos
Exemplo 1 : Uso básico de map_concat
Python
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)
Output
+------------------------+
|map_concat(map1, map2) |
+------------------------+
|{1 -> a, 2 -> b, 3 -> c}|
+------------------------+
Exemplo 2 : map_concat com três mapas
Python
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)
Output
+----------------------------+
|map_concat(map1, map2, map3)|
+----------------------------+
|{1 -> a, 2 -> b, 3 -> c} |
+----------------------------+
Exemplo 3 : map_concat com mapa vazio
Python
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)
Output
+----------------------+
|map_concat(map1, map2)|
+----------------------+
|{1 -> a, 2 -> b} |
+----------------------+
Exemplo 4 : map_concat com valores nulos
Python
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)
Output
+---------------------------+
|map_concat(map1, map2) |
+---------------------------+
|{1 -> a, 2 -> b, 3 -> NULL}|
+---------------------------+