Funkce transform_keys

Platí pro:zaškrtnuto ano Databricks SQL zaškrtnuto ano Databricks Runtime

Transformuje klíče v mapě expr pomocí funkce func.

Syntaxe

transform_keys(expr, func)

Argumenty

  • expr: Výraz MAP.
  • func: Funkce lambda.

Návraty

MAP, kde klíče mají typ výsledku funkcí lambda a hodnoty mají typ expr hodnot MAP.

Funkce lambda musí mít 2 parametry. První parametr představuje klíč. Druhý parametr představuje hodnotu.

Funkce lambda vytvoří nový klíč pro každou položku v mapě.

Azure Databricks vyvolá DUPLICATED_MAP_KEY pokud funkce lambda vytváří duplicitní klíče.

Běžné chybové podmínky

Příklady

> 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