파일에서 데이터 로드 - Amazon Redshift

파일에서 데이터 로드

소스 데이터 파일은 다양한 형식으로 제공되며 다양한 압축 알고리즘을 사용합니다. COPY 명령을 사용하여 데이터를 로드하는 경우 Amazon Redshift는 Amazon S3 버킷 접두사가 참조하는 모든 파일을 로드합니다. (접두사는 객체 키 이름의 시작 부분에 있는 문자열입니다.) 접두사가 여러 파일이나 분할할 수 있는 파일을 가리키는 경우 Amazon Redshift는 Amazon Redshift의 MPP 아키텍처를 활용하여 데이터를 병렬로 로드합니다. 이렇게 하면 워크로드가 클러스터 내 노드로 분할됩니다. 반면 분할할 수 없는 파일에서 데이터를 로드하면 Amazon Redshift는 훨씬 느린 직렬화된 로드를 수행해야 합니다. 다음 섹션에서는 다양한 파일 유형을 형식과 압축에 맞게 Amazon Redshift에 로드하는 데 권장되는 방법을 설명합니다.

분할할 수 있는 파일에서 데이터 로드

다음 파일은 데이터가 로드될 때 자동으로 분할될 수 있습니다.

  • 압축되지 않은 CSV 파일

  • BZIP으로 압축한 CSV 파일

  • 컬럼 파일(Parquet/ORC)

Amazon Redshift는 128MB 이상의 파일을 자동으로 청크로 분할합니다. 컬럼 형식 파일, 특히 Parquet와 ORC는 128MB 미만이면 분할되지 않습니다. Redshift는 병렬로 작동하는 슬라이스를 사용하여 데이터를 로드합니다. 이는 빠른 로드 성능을 제공합니다.

분할할 수 있는 파일에서 데이터 로드

JSON이나 CSV 같은 파일 유형은 GZIP과 같은 다른 압축 알고리즘으로 압축된 경우 자동으로 분할되지 않습니다. 이러한 경우에는 압축하면 크기가 거의 비슷해지는(1MB~1GB) 작은 파일로 데이터를 수동으로 분할하는 것이 좋습니다. 또한 파일 수가 클러스터 조각 수의 승수인지 확인해야 합니다. 데이터를 여러 파일로 분할하는 자세한 방법과 COPY를 사용하여 데이터를 로드하는 예제는 Amazon S3에서 데이털 로드 섹션을 참조하세요.