배열을 사용하여 맵 만들기
맵(Maps)은 Athena에서 사용할 수 있는 데이터 형식으로 구성된 키 값 페어입니다. 맵을 만들려면 MAP
연산자를 사용하고, 그리로 두 개의 배열을 전달합니다. 첫 번째는 열(키) 이름이고 두 번째는 값입니다. 배열의 모든 값은 같은 형식이어야 합니다. 맵 값 배열 요소 중 일부가 다른 형식이어야 하는 경우, 나중에 변환하면 됩니다.
예제
이 예제는 데이터 세트에서 사용자를 선택합니다. MAP
연산자를 사용하고 그리로 두 개의 배열을 전달합니다. 첫 번째 배열에는 "first", "last" 및 "age"와 같은 열 이름 값이 포함됩니다. 두 번째 배열은 "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} |
+---------------------------------+
이 예제에서와 같이 뒤에 [key_name]
이 있는 필드 이름을 선택하여 Map
값을 검색할 수 있습니다.
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 |
+------------+