Athena에서 배열 리터럴을 구축하려면 ARRAY
키워드 뒤에 [ ]
괄호를 사용하고 쉼표로 구분된 배열 요소를 포함합니다.
예시
이 쿼리는 네 개 요소로 이루어진 배열 하나를 생성합니다.
SELECT ARRAY [1,2,3,4] AS items
다음 결과가 반환됩니다.
+-----------+
| items |
+-----------+
| [1,2,3,4] |
+-----------+
이 쿼리는 두 개의 배열을 생성합니다.
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] |
+-----------+
다음 예에서는 두 개의 배열이 선택되고 환영 메시지로 반환됩니다.
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}] |
+-----------------------------------------------------------------------------------------------------+