Amazon Athena에서 JSON 데이터를 읽기 위해서는 NULL 또는 부정확한 데이터 오류가 표시됩니다. 해결하려면 어떻게 해야 합니까?

NULL 또는 잘못된 데이터 오류를 해결하기 위해서는 다음과 같은 일반적인 문제를 확인하십시오.

Amazon Athena와 함께 올바른 JSON SerDe를 사용하여 데이터 읽기

Athena는 두 가지 JSON SerDes 중 하나를 사용하여 JSON 데이터를 읽을 수 있습니다.

  • 기본 Hive/HCatalog JsonSerDe(org.apache.hive.hcatalog.data.JsonSerDe)
  • OpenX SerDe(org.openx.data.jsonserde.JsonSerDe)

사용한 SerDE가 어떤 것인지 확실하지 않은 경우, 사용 가능한 SerDE 버전 모두를 시도해보십시오.

JSON 기록이 한 줄에 있는지 확인하십시오

Athena는 현재 복수 JSON 기록을 지원하지 않습니다.

대/소문자 열에서 데이터 생성

Athena는 대/소문자를 구분하기 때문에 열 이름이 대소문자만 다르다면(예: 'Column'과 'column') Athena에서 오류가 발생하고 Athena에서 데이터를 볼 수 없습니다.

형식이 잘못된 레코드를 무시할 수 있는 옵션 제공

'org.openx.data.jsonserde.JsonSerDe' SerDe를 사용할 경우, 옵션을 제공하여 형식이 잘못된 레코드를 무시할 수 있습니다. 형식이 잘못된 레코드를 NULL로 반환합니다.

CREATE EXTERNAL TABLE json (
    a string,
    b int
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ( 'ignore.malformed.json' = 'true')
LOCATION 's3://bucket/path/';

테이블이 생성된 후, 새로운 쿼리를 새로운 테이블에서 실행합니다.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2016-12-15

업데이트됨: 2017-09-25