Delen via


transform_keys-functie

Van toepassing op:aangevinkt ja Databricks SQL aangevinkt ja Databricks Runtime

Transformeert sleutels in een kaart in expr door gebruik te maken van de functie func.

Syntaxis

transform_keys(expr, func)

Argumenten

  • expr: Een MAP-expressie.
  • func: Een lambda-functie.

Retouren

Een MAP waarbij de sleutels het type van het resultaat van de lambda-functies hebben en de waarden het type MAP-waarden expr hebben.

De lambda-functie moet twee parameters hebben. De eerste parameter vertegenwoordigt de sleutel. De tweede parameter vertegenwoordigt de waarde.

De lambda-functie produceert een nieuwe sleutel voor elke vermelding in de kaart.

Azure Databricks verhoogt DUPLICATED_MAP_KEY als de lambda-functie dubbele sleutels produceert.

Algemene foutvoorwaarden

Voorbeelden

> 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