Pular para o conteúdo principal

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

cols

pyspark.sql.Column ou str

Nomes de colunas ou colunas

Parâmetro

Tipo

Descrição

cols

pyspark.sql.Column ou str

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