Amazon S3 for Amazon RDS로 내보내기 위한 파일 이름 지정 규칙 - Amazon Relational Database Service

Amazon S3 for Amazon RDS로 내보내기 위한 파일 이름 지정 규칙

특정 테이블에 대해 내보낸 데이터는 base_prefix/files 형식으로 저장됩니다. 여기서 기본 접두사는 다음과 같습니다.

export_identifier/database_name/schema_name.table_name/

예:

export-1234567890123-459/rdststdb/rdststdb.DataInsert_7ADB5D19965123A2/

파일의 명명 규칙은 두 가지가 있습니다.

  • 현행 규칙:

    batch_index/part-partition_index-random_uuid.format-based_extension

    배치 인덱스는 테이블에서 읽은 데이터 배치를 나타내는 시퀀스 번호입니다. 테이블을 병렬로 내보낼 작은 청크로 파티셔닝할 수 없는 경우에는 배치 인덱스가 여러 개 생성됩니다. 테이블이 여러 테이블로 파티셔닝된 경우에도 마찬가지입니다. 기본 테이블의 각 테이블 파티션마다 하나씩, 배치 인덱스가 여러 개 생성됩니다.

    테이블을 병렬로 읽을 작은 청크로 파티셔닝할 수 있는 경우에는 배치 인덱스 1 폴더 하나만 생성됩니다.

    배치 인덱스 폴더에는 테이블 데이터를 포함하는 하나 이상의 Parquet 파일이 있습니다. Parquet 파일 이름의 접두사는 part-partition_index입니다. 테이블이 파티셔닝된 경우 파티션 인덱스 00000으로 시작되는 여러 개의 파일이 생성됩니다.

    파티션 인덱스 시퀀스에 간격이 있을 수 있습니다. 이러한 간격은 테이블의 범위 지정 쿼리에서 각 파티션을 가져오기 때문에 발생합니다. 해당 파티션 범위에 데이터가 없는 경우 해당 시퀀스 번호는 건너뛰게 됩니다.

    예를 들어 id열이 테이블의 프라이머리 키이고 최소값과 최대값이 1001000이라고 가정해 보겠습니다. 9개의 파티션이 있는 이 테이블을 내보내려고 하면 다음과 같은 병렬 쿼리를 사용하여 테이블을 읽습니다.

    SELECT * FROM table WHERE id <= 100 AND id < 200 SELECT * FROM table WHERE id <= 200 AND id < 300

    여기에서 part-00000-random_uuid.gz.parquet~part-00008-random_uuid.gz.parquet에 해당하는 9개의 파일이 생성됩니다. 그러나 200~350 사이의 ID가 있는 행이 없으면 완료된 파티션 중 하나가 비어 있게 되고 해당 파티션에 대한 파일이 생성되지 않습니다. 이전 예제에서는 part-00001-random_uuid.gz.parquet이 생성되지 않았습니다.

  • 이전 규칙:

    part-partition_index-random_uuid.format-based_extension

    이는 현재 규칙과 동일하지만 batch_index 접두사는 없습니다. 예를 들면 다음과 같습니다.

    part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet part-00001-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet part-00002-f5a991ab-59aa-7fa6-3333-d41eccd340a7-c000.gz.parquet

파일 명명 규칙은 변경될 수 있습니다. 따라서 대상 테이블을 읽을 때 테이블의 기본 접두사 내에 있는 모든 내용을 읽는 것이 좋습니다.