Todos os produtos
Search
Central de documentação

MaxCompute:MAP_CONCAT

Última atualização: Sep 22, 2026

Calcula a união de múltiplos maps.

Sintaxe

map<K, V> map_concat([string <mapDupKeyPolicy>,] map<K, V> <a>, map<K, V> <b>[,...])

Parâmetros

  • mapDupKeyPolicy: opcional. Valor do tipo STRING. Especifique o método usado para processar chaves duplicadas. Valores válidos:

    • exception: retorna um erro.

    • last_win: a chave posterior sobrescreve a anterior.

    Você também pode especificar o parâmetro odps.sql.map.key.dedup.policy no nível da sessão para configurar o método de processamento de chaves duplicadas. Por exemplo, defina odps.sql.map.key.dedup.policy como exception. Se você não especificar esse parâmetro, o valor padrão last_win será usado.

    Nota

    O MaxCompute determina a implementação do comportamento com base em mapDupKeyPolicy. Se você não especificar mapDupKeyPolicy, o valor de odps.sql.map.key.dedup.policy será usado.

  • a e b: obrigatórios. Especificam maps. As chaves dos maps devem ser do mesmo tipo de dados, e os valores dos maps também devem ser do mesmo tipo de dados. K e V em map<K, V> representam as chaves e os valores de um map.

Valor de retorno

Retorna um valor do tipo MAP. O valor de retorno varia de acordo com as seguintes regras:

  • Se um map for null ou a chave de um map for null, a função retorna null ou um erro.

  • Se os tipos de dados de múltiplos maps forem diferentes, a função retorna um erro.

Exemplos

-- The return value is {1:a, 2:b, 3:c}. 
select map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
-- The return value is {1:a, 2:d, 3:c}. 
select map_concat('last_win', map(1, 'a', 2, 'b'), map(3, 'c'), map(2, 'd'));

Funções relacionadas

MAP_CONCAT é uma função de tipo complexo. Para mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, selecione e configure conforme necessário, e consulte Complex type functions.