Amazon Redshift Super Type Data 쿼리

허상범·2022년 3월 14일
0

Data Science

목록 보기
2/4

Redshift의 Super Type 컬럼에 대한 쿼리 방법

Redshift는 Athena와는 달리, 비정형 데이터 구조(주로 Json과 같은 key-value 구조)를 저장할 수 있도록 하는 super type 컬럼을 제공하고 있다.

관련 내용 : https://docs.aws.amazon.com/redshift/latest/dg/r_SUPER_type.html

Athena의 경우에는 1개의 컬럼당 1개의 Value가 1:1로 지정되어 있기 때문에 select “컬럼명”을 통해서 간단히 리포팅을 하면 되지만 Redshift의 super type 컬럼의 경우 select “컬럼명”으로 쿼리를 하면 실행이 되지 않음에 주의

Redshift의 super type 컬럼 조회 결과

위처럼 key-value 기준으로 조회되는 컬럼에 대하여, 각 key를 새로운 컬럼으로 쿼리해내는 방법은 간단히 아래와 같다.

SELECT 컬럼명.key값 FROM table명 ...

예를 들어, 위 데이터를 기준으로 SELECT event.app_open_rate를 하면 테이블에 포함된 행의 개수만큼 app_open_rate 데이터가 추출될 것이다. (각 행마다 개별 key-value 쌍도 1개씩 들어가있기 때문에)

위 쿼리는 단순히 key-value를 짜여져있는 데이터를 어떻게 컬럼으로 추출하는 지에 대한 내용이고, 각 컬럼에 대한 전처리는 별도로 진행해주는 것이므로 cast 등의 형변환이나 sum, count 등의 aggregate 함수들에 대한 내용 숙지도 필요할 것으로 보인다.

각 컬럼마다 별칭을 지정했다면 Group By 절에 큰 따옴표(“ “)를 표시해주지 않으면 실행 오류가 나므로 유의

profile
Engineering & Science, Since 2021 | Finance, Backend, Data

0개의 댓글