All Products
Search
Document Center

MaxCompute:MAP_CONCAT

Last Updated:Jul 02, 2025

Menggabungkan beberapa peta menjadi satu.

Sintaksis

map<K, V> map_concat([string <mapDupKeyPolicy>,] map<K, V> <a>, map<K, V> <b>[,...])

Parameter

  • mapDupKeyPolicy: Opsional. Nilai bertipe STRING. Parameter ini menentukan metode untuk memproses kunci duplikat. Nilai yang valid:

    • exception: Kesalahan telah dikembalikan.

    • last_win: Kunci terakhir menimpa kunci sebelumnya.

    Anda juga dapat menentukan parameter odps.sql.map.key.dedup.policy pada tingkat sesi untuk mengonfigurasi metode pemrosesan kunci duplikat. Sebagai contoh, Anda dapat menyetel odps.sql.map.key.dedup.policy ke exception. Jika parameter ini tidak ditentukan, nilai default last_win akan digunakan.

    Catatan

    Perilaku MaxCompute ditentukan berdasarkan mapDupKeyPolicy. Jika mapDupKeyPolicy tidak ditentukan, nilai dari odps.sql.map.key.dedup.policy akan digunakan.

  • a dan b: Wajib. Parameter ini menentukan peta. Kunci dari peta harus memiliki tipe data yang sama, dan nilai dari peta juga harus memiliki tipe data yang sama. Dalam notasi map<K, V>, K dan V masing-masing menentukan kunci dan nilai dari sebuah peta.

Nilai pengembalian

Nilai bertipe MAP dikembalikan. Nilai pengembalian bergantung pada aturan berikut:

  • Jika sebuah peta adalah null atau kunci dari peta adalah null, null atau kesalahan akan dikembalikan.

  • Jika tipe data dari beberapa peta berbeda, kesalahan akan dikembalikan.

Contoh

-- Nilai pengembalian adalah {1:a, 2:b, 3:c}. 
select map_concat(map(1, 'a', 2, 'b'), map(3, 'c'));
-- Nilai pengembalian adalah {1:a, 2:d, 3:c}. 
select map_concat('last_win', map(1, 'a', 2, 'b'), map(3, 'c'), map(2, 'd'));

Fungsi terkait

MAP_CONCAT merupakan 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.