배열과 집계 함수 사용 - Amazon Athena

배열과 집계 함수 사용

  • 배열 내에서 값을 추가하려면 다음 예에서와 같이 SUM을 사용합니다.

  • 배열 내에서 여러 행을 집계하려면 array_agg를 사용합니다. 자세한 설명은 하위 쿼리에서 배열 만들기을 참조하세요.

참고

Athena 엔진 버전 2부터 집계 함수에 대해 ORDER BY가 지원됩니다.

WITH dataset AS ( SELECT ARRAY [ ARRAY[1,2,3,4], ARRAY[5,6,7,8], ARRAY[9,0] ] AS items ), item AS ( SELECT i AS array_items FROM dataset, UNNEST(items) AS t(i) ) SELECT array_items, sum(val) AS total FROM item, UNNEST(array_items) AS t(val) GROUP BY array_items;

마지막 SELECT 문에서 sum()UNNEST를 사용하는 대신 다음 예제와 같이 reduce()를 사용하여 처리 시간과 데이터 전송을 줄일 수 있습니다.

WITH dataset AS ( SELECT ARRAY [ ARRAY[1,2,3,4], ARRAY[5,6,7,8], ARRAY[9,0] ] AS items ), item AS ( SELECT i AS array_items FROM dataset, UNNEST(items) AS t(i) ) SELECT array_items, reduce(array_items, 0 , (s, x) -> s + x, s -> s) AS total FROM item;

위 쿼리는 다음과 같은 결과를 반환합니다. 반환되는 결과의 순서는 보장되지 않습니다.

+----------------------+ | array_items | total | +----------------------+ | [1, 2, 3, 4] | 10 | | [5, 6, 7, 8] | 26 | | [9, 0] | 9 | +----------------------+