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

MaxCompute:MAP

最終更新日:Jan 17, 2025

指定されたキーと値のペアに基づいてマップを作成します。

構文

map(K, V) map(K <key1>, V <value1>, K <key2>, V <value2>[, ...])

パラメーター

  • key: 必須です。 暗黙的な変換の後、すべてのキーは同じデータ型である必要があります。 基本データ型のみがサポートされています。

  • value: 必須です。 暗黙的な変換後も、すべてのは同じデータ型である必要があります。 DECIMAL以外のデータ型がサポートされています。

戻り値

MAPタイプの値が返されます。

説明

セッションレベルでodps.sql.map.key.de dup.policyパラメーターを設定して、重複キーの処理に使用する方法を指定できます。 有効な値:

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

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

このパラメーターを設定しない場合、デフォルト値last_winが使用されます。

  • 例1: 重複するキーが存在しない。 c1 (BIGINT) 、c2 (STRING) 、c3 (STRING) 、c4 (BIGINT) 、およびc5 (BIGINT) 列を含むt_tableテーブルのデータに基づいてマップを作成します。 テーブル内のデータ:

    +------------+----+----+------------+------------+
    | c1         | c2 | c3 | c4         | c5         |
    +------------+----+----+------------+------------+
    | 1000       | k11 | k21 | 86         | 15         |
    | 1001       | k12 | k22 | 97         | 2          |
    | 1002       | k13 | k23 | 99         | 1          |
    +------------+----+----+------------+------------+

    例:

    -- Define a map based on the key-value pairs between the c2 and c4 columns, and between the c3 and c5 columns. 
    select map(c2,c4,c3,c5) from t_table;
    -- The following result is returned: 
    +------+
    | _c0  |
    +------+
    | {k11:86, k21:15} |
    | {k12:97, k22:2} |
    | {k13:99, k23:1} |
    +------+
  • 例2: 重複キーが存在します。 c1 (BIGINT) 、c2 (STRING) 、c3 (STRING) 、c4 (BIGINT) 、およびc5 (BIGINT) 列を含むt_tableテーブルのデータに基づいてマップを作成します。 テーブル内のデータ:

    1000,'k11','k11',86,15
    1001,'k12','k22',97,2
    1002,'k13','k23',99,1
    1003,'k13','k24',100,1
    1004,'k12','k25',95,1

    例:

    -- Define a map based on the key-value pairs between the c2 and c4 columns, and between the c3 and c5 columns. 
    select map(c2,c4,c3,c5) from t_table;
    -- The following result is returned: 
    +------+
    | _c0  |
    +------+
    | {'k11':15} |
    | {'k12':97, 'k22':2} |
    | {'k13':99, 'k23':1} |
    | {'k13':100, 'k24':1} |
    | {'k12':95, 'k25':1} |
    +------+

関連関数

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