Amazon DynamoDB에서 COPY - Amazon Redshift

Amazon DynamoDB에서 COPY

기존 DynamoDB 테이블에서 데이터를 로드할 때는 FROM 절을 사용하여 DynamoDB 테이블 이름을 지정합니다.

중요

DynamoDB 테이블이 Amazon Redshift 클러스터와 동일한 리전에 속하지 않는 경우에는 REGION 파라미터를 사용하여 데이터가 위치한 리전을 지정해야 합니다.

구문

FROM 'dynamodb://table-name' authorization READRATIO ratio | REGION [AS] 'aws_region' | optional-parameters

예시

다음은 DynamoDB 테이블에서 데이터를 로드하는 예입니다.

copy favoritemovies from 'dynamodb://ProductCatalog' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' readratio 50;

파라미터

FROM

로드할 데이터 원본입니다.

'dynamodb://table-name'

데이터가 들어 있는 DynamoDB 테이블의 이름입니다(예: 'dynamodb://ProductCatalog'). DynamoDB 속성과 Amazon Redshift 열의 매핑 방식에 대한 자세한 내용은 Amazon DynamoDB 테이블에서 데이터 로드 섹션을 참조하세요.

DynamoDB 테이블 이름은 AWS 계정에서 고유하여 AWS 액세스 자격 증명으로 식별됩니다.

권한 부여

COPY 명령을 실행하려면 Amazon S3, Amazon EMR, DynamoDB, Amazon EC2의 데이터를 포함해 다른 AWS 리소스의 데이터에도 액세스할 수 있도록 권한 부여가 필요합니다. 권한은 클러스터에 연결되는 AWS Identity and Access Management(IAM) 역할을 참조하거나(역할 기반 액세스 제어) 사용자의 액세스 자격 증명을 입력하면(키 기반 액세스 제어) 부여할 수 있습니다. 보안과 유연성을 높이려면 IAM 역할 기반 액세스 제어를 권장합니다. 자세한 내용은 권한 부여 파라미터 단원을 참조하십시오.

READRATIO [AS] ratio

DynamoDB 테이블에서 데이터 로드에 사용할 프로비저닝 처리량의 비율입니다. READRATIO는 DynamoDB에서 COPY에 필요합니다. Amazon S3에서 COPY를 지원할 때는 사용할 수 없습니다. 이 비율은 사용되지 않는 평균 프로비저닝 처리량 미만의 값으로 설정하는 것이 좋습니다. 유효한 값은 1~200의 정수입니다.

중요

READRATIO를 100 이상으로 설정하면 Amazon Redshift가 DynamoDB 테이블의 프로비저닝된 처리량을 완전히 소비하여 COPY 세션 도중 동일한 테이블에 대한 동시 읽기 작업 성능을 심각하게 떨어뜨릴 수 있습니다. 쓰기 트래픽은 영향을 받지 않습니다. 100보다 높은 값일 때는 Amazon Redshift가 테이블의 프로비저닝 처리량을 충족하지 못하는 드문 경우의 문제를 해결할 수 있습니다. DynamoDB에서 Amazon Redshift로 데이터를 지속적으로 로드하는 경우에는 DynamoDB 테이블을 시계열로 구성하여 COPY 작업에서 실시간 트래픽을 분리하는 것이 좋습니다.

선택적 파라미터

Amazon DynamoDB에서 COPY를 지원할 때는 다음 파라미터를 옵션으로 지정할 수 있습니다.

지원되지 않는 파라미터

DynamoDB에서 COPY를 지원할 때는 다음 파라미터를 사용할 수 없습니다.

  • 모든 데이터 형식 파라미터

  • ESCAPE

  • FILLRECORD

  • IGNOREBLANKLINES

  • IGNOREHEADER

  • NULL

  • REMOVEQUOTES

  • ACCEPTINVCHARS

  • MANIFEST

  • Encrypted