すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:MAP_FROM_ARRAYS

最終更新日:Jan 17, 2025

配列aと配列bに基づいてマップを作成します。

構文

map<K, V> map_from_arrays([string <mapDupKeyPolicy>,] array<K> <a>, array<V> <b>))

パラメーター

  • mapDupKeyPolicy: オプション。 STRING型の値。 このパラメーターは、重複キーの処理に使用されるメソッドを指定します。 有効な値:

    • exception: エラーが返されます。

    • last_win: 後者のキーは前者のキーを上書きします。

    セッションレベルでodps.sql.map.key.de dup.policyパラメーターを指定して、重複キーの処理に使用されるメソッドを構成することもできます。 たとえば、odps.sql.map.key.de dup.policyを例外に設定できます。 このパラメーターを指定しない場合、デフォルト値last_winが使用されます。

    説明

    MaxComputeの動作実装は、mapDupKeyPolicyに基づいて決定されます。 mapDupKeyPolicyを指定しない場合、odps.sql.map.key.de dup.policyの値が使用されます。

  • a: 必須です。 このパラメーターは、配列を指定します。 このパラメーターは、生成されたマップのキーに対応します。 array<K>Kは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

  • b: 必須です。 このパラメーターは、配列を指定します。 このパラメーターは、生成されたマップの値に対応します。 array<V>Vは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

戻り値

MAPタイプの値が返されます。 戻り値は、次のルールによって異なります。

  • 配列aまたは配列bがnullの場合、nullが返されます。

  • Array aにnull要素が含まれている場合、または2つの配列の長さが異なる場合は、エラーが返されます。

-- The return value is {1:2, 3:4}. 
select map_from_arrays(array(1.0, 3.0), array('2', '4'));
-- The return value is {1:2, 3:6}. 
select map_from_arrays('last_win', array(1.0, 3.0, 3), array('2', '4', '6'));

関連関数

MAP_FROM_ARRAYSは複合型関数です。 ARRAY、MAP、STRUCT、JSONなどの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.