DynamoDB 테이블에 대량 업로드를 실행하려면 어떻게 해야 합니까?

2분 분량
0

Amazon DynamoDB 테이블에 데이터를 대량으로 업로드하려고 합니다. 어떻게 해야 합니까?

해결 방법

다음 옵션 중 하나를 사용하여 DynamoDB에 대량으로 데이터를 업로드합니다.

BatchWriteItem

BatchWriteItem API 작업을 사용하여 여러 개의 PutItem 호출을 동시에 실행할 수 있습니다. 코드에서 병렬 프로세스 또는 스레드를 사용하여 여러 병렬 BatchWriteItem API 호출을 실행하여 데이터를 더 빠르게 로드할 수도 있습니다.

AWS Data Pipeline

데이터가 Amazon Simple Storage Service(Amazon S3)에 있는 경우 Data Pipeline을 사용하여 DynamoDB로 내보낼 수 있습니다. Data Pipeline은 Amazon EMR 클러스터를 생성하고 데이터를 Amazon S3에서 DynamoDB로 내보내는 프로세스를 병렬 BatchWriteItem 요청을 통해 자동화합니다. Data Pipeline을 사용할 때 병렬 전송을 위한 코드를 작성할 필요가 없습니다. 자세한 내용은 Amazon S3에서 DynamoDB로 데이터 가져오기를 참조하세요.

테이블 가져오기 기능

데이터가 S3에 저장된 경우 테이블 가져오기 기능을 사용하여 새 DynamoDB 테이블에 데이터를 업로드할 수 있습니다. 이 기능은 압축(GZIP 또는 ZSTD) 또는 비압축 형식의 CSV, DynamoDB JSON 또는 Amazon ION 형식을 지원합니다. 자세한 내용은 Amazon S3에서 DynamoDB 데이터 가져오기: 작동 방식을 참조하세요.

Amazon EMR

Amazon EMR 및 Apache Hive를 사용하여 데이터를 DynamoDB에 업로드하려면 다음을 수행합니다.

  1. EMR 클러스터를 만듭니다.
    릴리즈에서 emr-5.30.0 이상을 선택합니다.
    애플리케이션의 경우 Hive가 포함된 옵션을 선택합니다.
  2. 데이터의 Amazon S3 위치를 가리키는외부 Hive 테이블을 생성합니다.
  3. 다른 외부 Hive 테이블을 생성하여 DynamoDB 테이블을 가리킵니다.
  4. INSERT OVERWRITE 명령을 사용하여 Amazon S3에서 DynamoDB로 데이터를 씁니다. 자세한 내용은 DynamoDB로 데이터 가져오기를 참조하세요.

AWS Database Migration Service(AWS DMS)

AWS DMS를 사용하여 관계형 데이터베이스에서 DynamoDB 테이블로 데이터를 내보낼 수 있습니다. 자세한 내용은 Amazon DynamoDB 데이터베이스를 AWS Database Migration Service의 대상으로 사용을 참조하세요.

AWS Glue

업로드하려는 데이터가 원래 DynamoDB 내보내기 기능을 사용하여 다른 DynamoDB 테이블에서 S3로 내보낸 데이터인 경우 이 옵션을 사용하는 것이 좋습니다. 이 옵션은 내보내기 기능이 DynamoDB 백업 기능을 사용하고 원본 테이블을 스캔하지 않기 때문에 대용량 데이터 세트를 업로드할 때 효율적입니다. 소스 테이블의 성능이나 가용성에 영향을 주지 않습니다. 자세한 내용은 Using AWS Glue and Amazon DynamoDB export를 참조하세요.


AWS 공식
AWS 공식업데이트됨 일 년 전