Menggabungkan Map input1 dan Map input2 menjadi satu map. Kunci dari map baru adalah gabungan dari kunci-kunci kedua map input, sedangkan nilai setiap kunci dihitung menggunakan func.
Sintaksis
<K, V1, V2, V3> map<K, V3> map_zip_with(map<K, V1> <input1>, map<K, V2> <input2>, function<K, V1, V2, V3> <func>)Parameter
input1 dan input2: wajib. Parameter ini menentukan map.
KdanVdalammap<K, V>menentukan kunci dan nilai dari sebuah map.func: wajib. func memiliki tiga parameter input yang sesuai dengan sebuah kunci, nilai terkait kunci dalam input1, dan nilai terkait kunci dalam input2. Jika kunci tidak ada dalam input1 atau input2, nilai null digunakan sebagai pengganti nilai terkait dalam func.
Nilai pengembalian
Data dengan tipe yang didefinisikan oleh func dikembalikan.
Contoh
-- Nilai pengembalian adalah {1:[1, 1, 4], 2:[2, 2, 5], 3:[3, null, null], 4:[4, null, 7]}.
select map_zip_with(map(1, 1, 2, 2, 3, null), map(1, 4, 2, 5, 4, 7), (k, v1, v2) -> array(k, v1, v2));Dalam contoh ini, kombinasi tanda hubung dan tanda sudut penutup (->) digunakan. Untuk informasi lebih lanjut tentang penggunaan kombinasi tanda hubung dan tanda sudut penutup (->) dalam fungsi Lambda, lihat Fungsi Lambda.
Fungsi terkait
MAP_ZIP_WITH adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data dari tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.