Tous les produits
Search
Centre de documentation

MaxCompute:MAP_FROM_ENTRIES

Dernière mise à jour :Sep 21, 2026

Crée une map à partir de tableaux de structs donnés.

Syntaxe

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

Paramètres

  • mapDupKeyPolicy : facultatif. Valeur de type STRING. Ce paramètre spécifie la méthode de traitement des clés en double. Valeurs valides :

    • exception : renvoie une erreur.

    • last_win : la dernière clé écrase la précédente.

    Vous pouvez également configurer le paramètre odps.sql.map.key.dedup.policy au niveau de la session pour spécifier la méthode de traitement des clés en double. Par exemple, définissez odps.sql.map.key.dedup.policy sur exception. Si vous ne configurez pas ce paramètre, la valeur par défaut last_win s'applique.

    Remarque

    Le comportement de MaxCompute dépend de mapDupKeyPolicy. Si vous ne spécifiez pas mapDupKeyPolicy, la valeur de odps.sql.map.key.dedup.policy s'applique.

  • Les données de type STRUCT sont requises. K correspond aux clés de la map générée. V correspond aux valeurs de la map générée. K et V dans struct<K, V> spécifient les clés et les valeurs d'un tableau de structs.

Valeur de retour

Renvoie une valeur de type MAP. La valeur de retour varie selon les règles suivantes :

  • Si un tableau de structs est null, la fonction renvoie null.

  • Si le nombre de champs dans un tableau de structs n'est pas égal à 2 ou si la key d'un tableau de structs est null, une erreur est renvoyée.

Exemples

-- 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')));

Fonctions associées

MAP_FROM_ENTRIES est une fonction de type complexe. Pour plus d'informations sur les fonctions de traitement des données de types complexes, tels que ARRAY, MAP, STRUCT et JSON, consultez Fonctions de type complexe.