Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Ekspresi parameter yang dapat diteruskan ke fungsi untuk mengontrol perilakunya.
Misalnya, array_sort fungsi menerima fungsi lambda sebagai argumen untuk menentukan urutan pengurutan kustom.
Sintaks
{ param -> expr |
(param1 [, ...] ) -> expr }
Parameter
-
paramN: Pengidentifikasi digunakan oleh fungsi induk untuk meneruskan argumen untuk fungsi lambda. -
expr: Setiap ekspresi sederhana yang merujuk keparamN, yang tidak berisi subkueri atau fungsi SQL yang ditentukan pengguna.
Pengembalian
Jenis hasil ditentukan oleh jenis hasil expr.
Jika ada lebih dari satu paramN, nama parameter harus unik. Jenis parameter diatur oleh fungsi pemanggilan.
expression harus valid untuk jenis ini dan jenis hasilnya harus sesuai dengan harapan yang ditentukan fungsi pemanggilan.
Contoh
Fungsi array_sort mengharapkan fungsi lambda dengan dua parameter.
Jenis parameter akan menjadi jenis elemen array yang akan diurutkan.
Ekspresi diharapkan mengembalikan BILANGAN BULAT di mana -1 berarti param1<param2, 0 berarti param1 = param2, dan 1 sebaliknya.
Untuk mengurutkan ARRAY STRING dalam urutan leksikal kanan ke kiri, Anda dapat menggunakan fungsi lambda berikut.
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END
Fungsi Lambda didefinisikan dan digunakan secara ad hoc. Jadi definisi fungsi adalah argumen:
> SELECT array_sort(array('Hello', 'World'),
(p1, p2) -> CASE WHEN p1 = p2 THEN 0
WHEN reverse(p1) < reverse(p2) THEN -1
ELSE 1 END);
[World, Hello]