Condividi tramite


Funzione transform_keys

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Trasforma le chiavi in una mappa in expr usando la funzione func.

Sintassi

transform_keys(expr, func)

Argomenti

  • expr: Un'espressione MAP.
  • func: funzione lambda.

Valori restituiti

Una MAP in cui le chiavi hanno il tipo del risultato delle funzioni lambda e i valori hanno il tipo dei valori della MAP expr.

La funzione lambda deve avere 2 parametri. Il primo parametro rappresenta la chiave. Il secondo parametro rappresenta il valore.

La funzione lambda produce una nuova chiave per ogni voce della mappa.

Azure Databricks genera DUPLICATED_MAP_KEY se la funzione lambda produce chiavi duplicate.

Condizioni di errore comuni

Esempi

> 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