Skip to content

Amazon S3에서 Amazon Redshift로 데이터를 효율적으로 로드하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Simple Storage Service(Amazon S3)에서 Amazon Redshift로 대용량의 데이터를 로드하고 최적의 성능을 유지하고 싶습니다.

간략한 설명

Amazon S3의 데이터를 Amazon Redshift 테이블에 추가하려면 INSERT 또는 COPY 명령을 사용할 수 있습니다. 하지만 더 효율적인 COPY 명령을 사용하는 것이 좋습니다. COPY는 대규모 병렬 처리(MPP) 아키텍처를 사용하여 S3 버킷의 파일에서 데이터를 동시에 로드합니다.

사용할 수 있는 다른 방법은 Amazon Redshift에서 데이터 로드를 참조하십시오.

해결 방법

하나의 COPY 명령 실행

COPY 명령을 하나만 실행하여 테이블 하나를 로드합니다. 여러 개의 COPY 명령을 동시에 사용하여 여러 파일에서 하나의 테이블을 로드하는 경우 Amazon Redshift는 직렬화된 로드를 수행하므로 속도가 느려질 수 있습니다.

데이터 파일 준비

COPY 명령을 효율적으로 사용하려면 데이터 파일도 준비해야 합니다. 파일 수와 크기는 병렬 처리 능력에 영향을 미칩니다.

COPY 명령에서 여러 파일을 지정하는 경우 Amazon Redshift는 데이터를 병렬로 로드합니다. 데이터 파일을 준비하려면 파일 크기가 거의 같아야 하고, 크기 범위는 1MB에서 1GB여야 합니다.

Redshift 프로비저닝 클러스터의 경우 슬라이스 수의 배수로 파일 수를 사용하는 것이 좋습니다. Amazon Redshift Serverless의 경우 128의 배수인 수의 파일을 사용하는 것이 좋습니다. 자세한 내용은 데이터 파일 로드를 참조하십시오.

Redshift 프로비저닝 클러스터의 슬라이스 수를 가져오려면 다음 쿼리를 실행합니다.

select count(*) from STV_SLICES where type = 'D';

참고: COPY 명령에서 압축되지 않은 .csv, Parquet 또는 ORC 파일 하나를 지정하면 Amazon Redshift는 128MB보다 큰 파일을 분할합니다.

COPY 명령 상태 모니터링

COPY 명령 상태를 보려면 시스템 테이블을 확인할 수 있습니다.

시스템 테이블에는 파일 수, 파일 크기, 로드된 행 수를 포함한 COPY 명령 세부 정보가 기록됩니다. 테이블을 모니터링하여 실시할 수 있는 성능 개선 및 COPY 명령 실패의 원인을 확인할 수 있습니다.

COPY 명령에 대한 자세한 내용은 SYS_LOAD_HISTORYSYS_LOAD_DETAIL을 참조하십시오.

COPY 명령 오류에 대한 자세한 내용은 SYS_LOAD_ERROR_DETAIL을 참조하십시오.

관련 정보

데이터 로드를 위한 Amazon Redshift 모범 사례

COPY 명령으로 테이블 로드

압축 및 비압축 파일에서 데이터 로드

AWS 공식업데이트됨 3달 전