COPY 명령을 사용하여 데이터 로드 - Amazon Redshift

COPY 명령을 사용하여 데이터 로드

COPY 명령은 Amazon Redshift 대량 병렬 처리(MPP) 아키텍처를 활용하여 Amazon S3의 파일, DynamoDB 테이블 또는 하나 이상의 원격 호스트의 텍스트 출력에서 병렬로 데이터를 읽고 로드합니다.

참고

대량의 데이터를 로드하려면 COPY 명령을 사용하는 것이 가장 좋습니다. 테이블을 채우는 데 개별적인 INSERT문을 사용하는 방식은 엄청나게 느릴 수 있습니다. 데이터가 다른 Amazon Redshift 데이터베이스 테이블에 이미 있는 경우에는, INSERT INTO ... SELECT 또는 CREATE TABLE AS를 사용하여 성능을 개선할 수 있습니다. 자세한 내용은 INSERT 또는 CREATE TABLE AS 섹션을 참조하세요.

다른 AWS 리소스에서 데이터를 로드하려면 리소스에 액세스하고 필요한 작업을 수행할 권한이 클러스터에 있어야 합니다.

COPY 명령을 사용하여 테이블로 데이터를 로드하는 권한을 부여하거나 취소하려면 INSERT 권한을 부여하거나 취소합니다.

데이터를 Amazon Redshift 테이블로 로드하려면 올바른 형식이어야 합니다. 이 섹션에서는 로드 전에 데이터를 준비 및 확인하고 실행 전에 COPY 문을 확인하는 방법을 살펴봅니다.

파일의 정보를 보호하기 위해 Amazon S3 버킷으로 업로드하기 전에 데이터 파일을 암호화할 수 있습니다. COPY는 로드를 수행하면서 데이터를 복호화합니다. 사용자에게 임시 보안 자격 증명을 제공하여 로드 데이터에 대한 액세스를 제한할 수도 있습니다. 임시 보안 자격 증명은 유효 기간이 짧고 만료 후 재사용이 불가능하기 때문에 보안을 강화하는 효과가 있습니다.

Amazon Redshift는 압축되지 않고 구분된 데이터를 빠르게 로드할 수 있도록 COPY에 특성이 내장되어 있습니다. 그러나 파일 업로드 시간을 절약하기 위해 gzip, lzop 또는 bzip2를 사용하여 파일을 압축할 수 있습니다.

COPY 쿼리에 ESCAPE, REMOVEQUOTES 및 FIXEDWIDTH와 같은 키워드가 있으면 압축되지 않은 데이터의 자동 분할이 지원되지 않습니다. 하지만 CSV 키워드는 지원됩니다.

AWS 클라우드 내에서 전송 중인 데이터 보안을 위해 Amazon Redshift는 COPY, UNLOAD, 백업 및 복원 작업을 수행할 때 하드웨어 가속화 SSL을 사용하여 Amazon S3 또는 Amazon DynamoDB와 통신합니다.

Amazon DynamoDB 테이블에서 직접 테이블을 로드하는 경우 사용하는 Amazon DynamoDB 프로비저닝 처리량의 양을 제어하는 옵션이 있습니다.

또는 COPY 명령이 입력 데이터를 분석하여 로드 프로세스의 일환으로 최적의 압축 인코딩을 테이블에 자동으로 적용하도록 할 수도 있습니다.