Partager via


Fonction transform_keys

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Transforme les clés d’un mappage dans expr à l’aide de la fonction func.

Syntaxe

transform_keys(expr, func)

Arguments

  • expr : expression de type MAP.
  • func : fonction lambda.

Retours

Une fonction MAP dans laquelle les clés ont le type du résultat des fonctions lambda et les valeurs ont le type des valeurs MAP expr.

La fonction lambda doit avoir deux paramètres. Le premier paramètre représente la clé. Le deuxième paramètre représente la valeur.

La fonction lambda produit une nouvelle clé pour chaque entrée dans le mappage.

Azure Databricks déclenche DUPLICATED_MAP_KEY si la fonction lambda produit des clés en double.

Conditions d’erreur courantes

Exemples

> SELECT transform_keys(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), (k, v) -> k + 1);
 {2 -> 1, 3 -> 2, 4 -> 3}
> SELECT transform_keys(map_from_arrays(array(1, 2, 3), array(1, 2, 3)), (k, v) -> k + v);
 {2 -> 1, 4 -> 2, 6 -> 3}

-- The transform produces duplicate key 0 from both entries.
> SELECT transform_keys(map(1, 'a', 2, 'b'), (k, v) -> 0);
  Error: DUPLICATED_MAP_KEY