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
'CLOUD' 카테고리의 다른 글
[TIL] AWS redshift에 Copy 명령어로 csv 데이터 적재 시 csv 내에 json이 포함되어 있을 때 고려해야 할 데이터 변환 파라미터 종류 221026 (0) | 2022.10.26 |
---|---|
[TIL] AWS Redshift에서 block이 걸려서 쿼리가 지연될 때 확인하고 강제 종료하는 방법 221017 (0) | 2022.10.17 |
[TIL] AWS Athena에서 쿼리 진행 상태 확인하기 (0) | 2022.10.05 |
[TIL] AWS cli를 사용해서 s3 파일 일괄 다운받기 220921 (0) | 2022.09.21 |
[TIL] Docker로 wireguard VPN 서버 실행하기 220920-1 (0) | 2022.09.20 |
[TIL] AWS Athena에서 기존 파티션 drop하고, 신규 파티션 생성 220920 (0) | 2022.09.20 |