transform_keys işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

expr içindeki bir haritanın anahtarlarını func işlevini kullanarak dönüştürür.

Söz dizimi

transform_keys(expr, func)

Argümanlar

  • expr: MAP ifadesi.
  • func: Bir lambda işlevi.

İadeler

Anahtarların lambda işlevlerinin sonucunun türüne ve değerlerin expr MAP değer türüne sahip olduğu bir MAP.

Lambda işlevinin 2 parametresi olmalıdır. İlk parametre anahtarı temsil eder. İkinci parametre değeri temsil eder.

lambda işlevi, haritadaki her giriş için yeni bir anahtar oluşturur.

lambda işlevi yinelenen anahtarlar üretirse Azure Databricks DUPLICATED_MAP_KEY oluşturur.

Yaygın hata koşulları

Örnekler

> 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