반응형 AWS2 [AWS Athena] 중첩 배열을 행으로 만드는 법, Flattening nested arrays into row (UNNEST 사용법) AWS Athena에서 데이터를 보다보면 column의 type이 구매 array 이런식으로 되어 있는 경우가 있는데 이것은 한개의 컬럼에 여러 데이터가 중첩되어 있는 구조입니다. 간단한 생각해보면 아래 표와 같이 구매 컬럼 하나에 상품명과 단계가 같이 묶어서 저장되어 있는 형태라고 생각하면 이해가 편할 것 같습니다. user_id 구매 상품명 단계 A 가방 구매완료 상의 장바구니 B 상의 구매완료 하의 장바구니 이런 구조에서 단계나 상품명 기준으로 user_id를 count를 하려면 중첩된 데이터를 행단위로 펼쳐줘야 하는데 이렇게 하는 방법은 크게 2가지 정도가 있는 것 같습니다. -- CROSS JOIN을 사용하는 방법 SELECT product.상품명, product.상태, COUNT(*) FROM.. 2023. 1. 11. [Athena(Presto)] String to Timestamp, Date 변경방법(UTC to KST 변경방법 포함) DB에 저장되어 있는 timestamp 포맷이나 date 포맷의 string 값을 실제 timestamp나 date로 변경하는 방법 -- STRING to TIMESTAMP from_iso8601_timestamp(timestamp) -- STRING to DATE from_iso8601_date(date) timestamp의 경우 UTC를 KST로 변경도 같이 할 수 있음 -- UTC to KST from_iso8601_timestamp(timestamp) AT TIME ZONE 'Asia/Seoul' 2022. 12. 26. 이전 1 다음 반응형