適用対象:
Databricks SQL
Databricks Runtime
関数 expr を使用して、func のマップ内のキーを変換します。
構文
transform_keys(expr, func)
引数
-
expr: MAP 式。 -
func: ラムダ関数。
戻り値
キーがラムダ関数の結果の型を持ち、値が expr MAP 値の型を持つ MAP。
ラムダ関数には 2 つのパラメーターが必要です。 最初のパラメーターはキーを表します。 2 番目のパラメーターは値を表します。
ラムダ関数により、マップ内の各エントリの新しいキーが生成されます。
ラムダ関数が重複するキーを生成する場合、Azure Databricksは DUPLICATED_MAP_KEY を発生させます。
一般的なエラー状態
例
> 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