DynamoDB에서 S3로 데이터를 이동할 때 ""main" java.lang.RuntimeException 스레드의 예외: 읽기 처리량이 1보다 작아서는 안 됨(Exception in thread "main" java.lang.RuntimeException: Read throughput should not be less than 1)" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 2월 26일

Amazon DynamoDB에서 Amazon Simple Storage Service(Amazon S3)로 데이터를 내보내는 AWS Data Pipeline을 만들었습니다. 데이터를 내보내려고 하면 ""main" java.lang.RuntimeException 스레드의 예외: 읽기 처리량이 1보다 작아서는 안 됨(Exception in thread "main" java.lang.RuntimeException: Read throughput should not be less than 1)" 오류가 발생합니다.

해결 방법

DynamoDB 테이블에서 데이터를 내보낼 새 파이프라인을 생성하는 경우 DynamoDB 테이블을 S3로 내보내기 데이터 파이프라인 템플릿을 사용하여 파이프라인을 생성합니다. 파이프라인 생성에 대한 자세한 내용은 2부: DynamoDB에서 데이터 내보내기를 참조하세요.

기존 파이프라인을 사용하여 DynamoDB에서 S3로 데이터를 내보내는 경우 파이프라인에 최신 EMR-DynamoDB 커넥터를 사용해야 합니다. 이전 버전의 EMR-DynamoDB 커넥터로 데이터를 내보낼 때 오류가 발생할 수 있습니다. DynamoDB 테이블의 Amazon EMR 버전은 5.24.0 이상이어야 합니다. 온디맨드 용량에 대해 구성된 DynamoDB 테이블은 Amazon EMR 릴리스 버전 5.24.0 이상을 사용하는 경우에만 지원됩니다. 자세한 내용은 DynamoDB에서 데이터 내보내기 - 시작하기 전에를 참조하세요.

최신 EMR-DynamoDB 커넥터 및 Amazon EMR 버전 5.24.0 이상을 사용하도록 기존 파이프라인을 업데이트하려면 다음을 수행합니다.

1.    AWS Data Pipeline 콘솔을 엽니다.

2.    파이프라인을 선택한 다음 [작업(Actions)]을 선택합니다.

3.    편집을 선택하십시오.

4.    왼쪽 창에서 [EMRActivity]를 선택합니다.

5.    [활동(Activities)] 창을 확장한 다음 [EMRActivity] 객체를 찾습니다.

6.    [단계(Step)] 필드에 다음 JAR 이름을 입력합니다.

s3://dynamodb-dpl-#{myDDBRegion}/emr-ddb-storage-handler/4.11.0/emr-dynamodb-tools-4.11.0-SNAPSHOT-jar-with-dependencies.jar

7.    왼쪽 창에서 [EmrCluster]를 선택합니다.

8.    [리소스(Resources)] 창을 확장합니다.

9.    [릴리스 레이블(Release Label)]에 emr-5.24.0 또는 이후 EMR 릴리스 버전을 입력합니다.

10.    [저장(Save)]을 선택합니다.