全部產品
Search
文件中心

MaxCompute:MAP_ZIP_WITH

更新時間:Jun 19, 2024

對輸入的兩個MAP對象input1input2進行合并得到一個新MAP對象。新MAP的Key是兩個MAP的Key的並集。針對新MAP的每一個Key,通過func來計算它的Value。

命令格式

<K, V1, V2, V3> map<K, V3> map_zip_with(map<K, V1> <input1>, map<K, V2> <input2>, function<K, V1, V2, V3> <func>)

參數說明

  • input1input2:必填。MAP對象。map<K, V>中的KV指代MAP對象的Key、Value。

  • func:必填。func有三個輸入參數,分別對應MAP的Key、Key相對應的input1以及input2的Value。如果Key在input1或者input2中不存在,func對應參數補充為NULL。

傳回值說明

返回func定義的類型。

使用樣本

--返回{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));
說明

使用樣本中涉及->的使用,關於Lambda函數->的介紹,詳情請參見Lambda函數

相關函數

MAP_ZIP_WITH函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數