All Products
Search
Document Center

MaxCompute:MAP_FROM_ENTRIES

Last Updated:Jul 02, 2025

Membuat peta berdasarkan array struktur yang diberikan.

Sintaksis

map<K, V> map_from_entries([string <mapDupKeyPolicy>,] array <struct<K, V> , struct<K, V>[,...]>)

Parameter

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

    • exception: Mengembalikan kesalahan.

    • last_win: Kunci terakhir menimpa kunci sebelumnya.

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

    Catatan

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

  • Data bertipe STRUCT diperlukan. K sesuai dengan kunci dalam peta yang dihasilkan. V sesuai dengan nilai dalam peta yang dihasilkan. K dan V dalam struct<K, V> menentukan kunci dan nilai dari array struktur.

Nilai pengembalian

Nilai bertipe MAP dikembalikan. Nilai pengembalian bervariasi berdasarkan aturan berikut:

  • Jika array struktur adalah null, maka null dikembalikan.

  • Jika jumlah bidang dalam array struktur bukan 2 atau key dari array struktur adalah null, kesalahan dikembalikan.

Contoh

-- Nilai pengembalian adalah {1:a, 2:b}. 
select map_from_entries(array(struct(1, 'a'), struct(2, 'b')));
-- Nilai pengembalian adalah {1:a, 2:c}. 
select map_from_entries(array(struct(1, 'a'), struct(2, 'b'), struct(2, 'c')));

Fungsi terkait

MAP_FROM_ENTRIES adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi yang digunakan untuk memproses data dari tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.