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.policyno nível da sessão e especifique o método para processar chaves duplicadas. Por exemplo, definaodps.sql.map.key.dedup.policycomo exception. Caso não configure esse parâmetro, o sistema usa o valor padrão last_win.NotaO comportamento do MaxCompute é determinado com base em mapDupKeyPolicy. Se você não especificar mapDupKeyPolicy, o valor de
odps.sql.map.key.dedup.policyserá utilizado. São necessários dados do tipo STRUCT. K corresponde às chaves no mapa gerado. V corresponde aos valores no mapa gerado.
KeVemstruct<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.