Freigeben über


transform_keys-Funktion

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Transformiert Schlüssel in einer Zuordnung in expr mithilfe der Funktion func.

Syntax

transform_keys(expr, func)

Argumente

  • expr: Ein MAP-Ausdruck.
  • func: Eine Lambdafunktion.

Gibt zurück

Eine MAP, bei der die Schlüssel den Typ des Ergebnisses der Lambdafunktionen und die Werte den Typ der expr-MAP-Werte aufweisen.

Die Lambdafunktion muss über zwei Parameter verfügen. Der erste Parameter stellt den Schlüssel dar. Der zweite Parameter stellt den Wert dar.

Die Lambdafunktion generiert einen neuen Schlüssel für jeden Eintrag in der Zuordnung.

Azure Databricks löst DUPLICATED_MAP_KEY aus, wenn die Lambda-Funktion doppelte Schlüssel erzeugt.

Häufige Fehlerbedingungen

Beispiele

> 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