Amazon DynamoDB에서 Amazon Simple Storage Service(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)을 선택합니다.
관련 정보
Data Pipeline을 사용하여 다른 계정에 있는 S3 버킷으로 DynamoDB 테이블을 백업하려면 어떻게 해야 합니까?