Amazon Athena
ユーザーガイド

配列の作成

Athena で配列リテラルを構築するには、ARRAY キーワードに続けて角括弧 [ ] を使用し、この中に配列要素をカンマで区切って含めます。

次のクエリでは、4 つの要素を持つ 1 つの配列を作成します。

SELECT ARRAY [1,2,3,4] AS items

返される結果は次のとおりです。

+-----------+ | items | +-----------+ | [1,2,3,4] | +-----------+

次のクエリでは 2 つの配列を作成します。

SELECT ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items

返される結果は次のとおりです。

+--------------------+ | items | +--------------------+ | [[1, 2], [3, 4]] | +--------------------+

互換性のある複数のタイプ間で選択した列から配列を作成するには、次の例に示すように、クエリを使用します。

WITH dataset AS ( SELECT 1 AS x, 2 AS y, 3 AS z ) SELECT ARRAY [x,y,z] AS items FROM dataset

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

+-----------+ | items | +-----------+ | [1,2,3] | +-----------+

次の例では、2 つの配列を選択し、ウェルカムメッセージとして返します。

WITH dataset AS ( SELECT ARRAY ['hello', 'amazon', 'athena'] AS words, ARRAY ['hi', 'alexa'] AS alexa ) SELECT ARRAY[words, alexa] AS welcome_msg FROM dataset

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

+----------------------------------------+ | welcome_msg | +----------------------------------------+ | [[hello, amazon, athena], [hi, alexa]] | +----------------------------------------+

キーと値のペアの配列を作成するには、次の例に示すように、MAP 演算子を使用してキーの配列に続けて値の配列を使用します。

SELECT ARRAY[ MAP(ARRAY['first', 'last', 'age'],ARRAY['Bob', 'Smith', '40']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Jane', 'Doe', '30']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Billy', 'Smith', '8']) ] AS people

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

+-----------------------------------------------------------------------------------------------------+ | people | +-----------------------------------------------------------------------------------------------------+ | [{last=Smith, first=Bob, age=40}, {last=Doe, first=Jane, age=30}, {last=Smith, first=Billy, age=8}] | +-----------------------------------------------------------------------------------------------------+

このページの内容: