配列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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.