입력 JSON 파일에 다수의 레코드가 있더라도 Amazon Athena의 SELECT COUNT 쿼리는 레코드를 1개만 반환합니다.

최종 업데이트 날짜: 2020년 10월 7일

SELECT COUNT(*) FROM TABLE을 실행하면 "1"이 출력되지만 입력 파일에는 다수의 JSON 레코드가 있습니다. org.openx.data.jsonserde.JsonSerDe를 사용해 테이블을 생성했습니다. 쿼리가 잘못된 값을 반환하는 이유는 무엇입니까?

해결 방법

레코드가 줄 바꿈 문자(\n)로 구분되어 있지 않으면 SELECT COUNT(*) FROM TABLE이 "1"을 반환합니다. 예:

{"ID":"1","MYTIMESTAMP":"2020-06-09 17:50:46.267","Name":"John"}{"ID":"2","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Joel"}{"ID":"3","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Patrick"}

이 문제를 해결하려면 다음 예제와 같이 레코드가 \n으로 구분되도록 해야 합니다.

{"ID":"1","MYTIMESTAMP":"2020-06-09 17:50:46.267","Name":"John"}

{"ID":"2","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Joel"}

{"ID":"3","MYTIMESTAMP":"2020-06-10 17:50:46.267","Name":"Patrick"}

이제 SELECT COUNT(*) FROM TABLE이 "3"을 반환합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?