Todos os produtos
Search
Central de documentação

MaxCompute:MAP_FROM_ENTRIES

Última atualização: Sep 21, 2026

Cria um mapa a partir dos arrays de struct fornecidos.

Sintaxe

map<K, V> map_from_entries([string <mapDupKeyPolicy>,] array <struct<K, V> , struct<K, V>[,...]>)

Parâmetros

  • mapDupKeyPolicy: opcional. Um valor do tipo STRING. Este parâmetro especifica o método usado para processar chaves duplicadas. Valores válidos:

    • exception: Retorna um erro.

    • last_win: A chave posterior sobrescreve a anterior.

    Configure o parâmetro odps.sql.map.key.dedup.policy no nível da sessão e especifique o método para processar chaves duplicadas. Por exemplo, defina odps.sql.map.key.dedup.policy como exception. Caso não configure esse parâmetro, o sistema usa o valor padrão last_win.

    Nota

    O comportamento do MaxCompute é determinado com base em mapDupKeyPolicy. Se você não especificar mapDupKeyPolicy, o valor de odps.sql.map.key.dedup.policy será utilizado.

  • São necessários dados do tipo STRUCT. K corresponde às chaves no mapa gerado. V corresponde aos valores no mapa gerado. K e V em struct<K, V> especificam as chaves e os valores de um array de struct.

Valor de retorno

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

  • Se um array de struct for nulo, a função retorna null.

  • Se o número de campos em um array de struct não for 2 ou se a key de um array de struct for nula, a função retorna um erro.

Exemplos

-- The return value is {1:a, 2:b}. 
select map_from_entries(array(struct(1, 'a'), struct(2, 'b')));
-- The return value is {1:a, 2:c}. 
select map_from_entries(array(struct(1, 'a'), struct(2, 'b'), struct(2, 'c')));

Funções relacionadas

MAP_FROM_ENTRIES é uma função de tipo complexo. Para obter mais informações sobre as funções usadas para processar dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.