Todos os produtos
Search
Central de documentação

MaxCompute:MAP_CONCAT

Última atualização: Jul 02, 2026

Calcula a união de vários objetos MAP.

Formato do comando

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

Descrição dos parâmetros

  • mapDupKeyPolicy: opcional. Tipo STRING. Especifica a ação a ser tomada quando chaves duplicadas forem encontradas. Valores válidos:

    • exception: se forem encontradas chaves duplicadas, um erro será retornado.

    • last_win: se forem encontradas chaves duplicadas, o valor posterior substituirá o valor anterior.

    Esse parâmetro também pode ser definido no nível de sessão por meio do parâmetro odps.sql.map.key.dedup.policy, por exemplo, set odps.sql.map.key.dedup.policy=exception;. Quando não definido, o valor padrão é last_win.

    Nota

    O comportamento do MaxCompute prioriza a configuração de mapDupKeyPolicy na função. Quando mapDupKeyPolicy não estiver configurado na função, a configuração do parâmetro odps.sql.map.key.dedup.policy será utilizada.

  • a e b: obrigatório. Objetos MAP. Os tipos de dados dos parâmetros de vários objetos MAP devem ser consistentes. Os parâmetros K e V em map<K, V> referem-se, respectivamente, à chave e ao valor do objeto MAP.

Valor de retorno

Retorna o tipo MAP. As regras de retorno são as seguintes:

  • Quando um objeto MAP é NULL ou a chave de um objeto MAP é NULL, retorna NULL ou gera um erro.

  • Quando os tipos de dados de vários objetos MAP não são consistentes, um erro é retornado.

Exemplos de uso

--Retorna {1:a, 2:b, 3:c}.
select map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
--Retorna {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

A função MAP_CONCAT pertence às funções de tipo complexo. Para mais funções que processam dados de tipos complexos (como ARRAY, MAP, STRUCT e JSON), consulte Funções de tipo complexo.