[TIL] AWS Athena에서 Json 값 추출 220927

728x90
💡 Today I Learned 요약 (18회차)
- AWS Athena에 json 형태로 저장된 값에서 데이터를 추출할 수 있다
- 사용함수는 json_extract 함수를 사용하면 가능

 

AWS Athena에서 Json 값 추출

DB에 Json 형태로 값이 저장되어 있을 경우, Json을 parsing 해서 써야 하는데 AWS Athena의 경우 json_extract 함수를 통해서 key 기준 값을 추출할 수 있도록 하고 있다.

WITH dataset AS (
  SELECT '{"name": "Smith",
           "org": "Tech",
           "projects": [{"name":"project1", "completed":false},
           {"name":"project2", "completed":true}]}'
    AS blob
)
SELECT
  json_extract(blob, '$.name') AS name,
  json_extract(blob, '$.projects') AS projects
FROM dataset

AWS 예제를 그대로 가지고 와봤는데 $.key 값 형태로 추출을 할 수 있다.

일반 DB 형태의 경우 아래처럼 쿼리를 작성해볼 수 있다. event_json 칼럼의 name 값과 content 값을 추출하는 예시이다

select
date_value
, json_extract(event_json, '$.name')
, json_extract_scalar(event_json, '$.content')
from database.json_inserted
where createdat_month >= '2022-08'
limit 1000
;

 


#aws 관련 작성 및 리서치 내역:

728x90