DynamoDB 테이블에 대해 Hive 쿼리를 실행할 때 쿼리를 완료하는 데 시간이 오래 걸립니다.

최종 업데이트 날짜: 2019년 6월 19일

Amazon EMR을 사용하여 Amazon DynamoDB 테이블에 대해 Apache Hive 쿼리를 실행했습니다. 그런데 쿼리가 몇 시간 동안 실행 중이고 아직 완료되지 않았습니다. 쿼리 속도를 높이려면 어떻게 해야 합니까?

간략한 설명

일반적으로 DynamoDB 테이블에 대해 프로비저닝된 읽기 용량 단위가 부족한 경우 이 문제가 발생합니다. 필요한 읽기 용량 단위 수는 테이블에 있는 데이터 양과 쿼리를 실행하려는 속도에 따라 달라집니다. 자세한 내용은 프로비저닝된 읽기 용량 단위를 참조하십시오.

해결 방법

쿼리 실행 시간을 줄이려면 소스 DynamoDB 테이블에 읽기 용량 단위를 더 추가합니다.

1.    DynamoDB 콘솔을 엽니다.

2.    테이블을 선택하고 [지표] 탭을 선택합니다.

3.    [스로틀된 읽기 이벤트] 그래프를 찾습니다. 이는 ReadThrottleEvents Amazon CloudWatch 지표에 대응합니다. 그래프에 급증 조건이 있는 경우 테이블에 대해 프로비저닝된 읽기 용량이 충분하지 않기 때문일 수 있습니다.

4.    [용량] 탭을 선택합니다.

5.    [읽기 용량 단위]를 늘리고 [저장]을 선택합니다. 용량 계산기를 사용하여 사용자가 선택한 읽기 용량 단위 수에 대한 월별 요금을 예측할 수 있습니다.

참고: 사용자가 추가하는 읽기 용량 단위 수에 따라 Amazon EMR 클러스터에 매퍼 디먼을 더 추가해야 할 수도 있습니다. 각 매퍼 데몬은 초당 250개의 읽기 용량 단위를 처리할 수 있습니다.

6.    Hive 쿼리를 시작합니다.

7.    [스로틀된 읽기 이벤트] 그래프를 다시 확인합니다. 급증 조건은 없지만, 쿼리를 완료하는 데 아직도 시간이 오래 걸리면 Amazon EMR 클러스터에 문제가 있을 수 있습니다. 자세한 내용은 로그를 사용하여 Amazon EMR에서 Hive 쿼리 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?