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 | +------------+

このページの内容: