配列を使用してマップを作成する - Amazon Athena

配列を使用してマップを作成する

マップは、Athena で利用できるデータ型で構成されるキー/値ペアです。マップを作成するには、MAP 演算子を使用して 2 つの配列を渡します。最初の配列は列 (キー) 名、2 つ目の配列は値です。配列のすべての値は、同じ型にする必要があります。マップの値配列のいずれかの要素を別の型にする必要がある場合は、後で変換できます。

次の例では、データセットからユーザーを選択します。MAP 演算子を使用して 2 つの配列を渡します。最初の配列には、値として「first」、「last」、「age」などの列名が含まれています。2 番目の配列は、これらの各列の値として「Bob」、「Smith」、「35」などで構成されます。

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user FROM dataset

このクエリは以下を返します。

+---------------------------------+ | user | +---------------------------------+ | {last=Smith, first=Bob, age=35} | +---------------------------------+

Map 値を取得するには、次の例に示すように、フィールド名に続けて [key_name] を選択します。

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user['first'] AS first_name FROM dataset

このクエリは以下を返します。

+------------+ | first_name | +------------+ | Bob | +------------+