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_index00000으로 시작되는 여러 개의 파일이 생성됩니다.파티션 인덱스 시퀀스에 간격이 있을 수 있습니다. 이러한 간격은 테이블의 범위 지정 쿼리에서 각 파티션을 가져오기 때문에 발생합니다. 해당 파티션 범위에 데이터가 없는 경우 해당 시퀀스 번호는 건너뛰게 됩니다.
예를 들어
id열이 테이블의 프라이머리 키이고 최소값과 최대값이100및1000이라고 가정해 보겠습니다. 9개의 파티션이 있는 이 테이블을 내보내려고 하면 다음과 같은 병렬 쿼리를 사용하여 테이블을 읽습니다.SELECT * FROM table WHERE id <= 100 AND id < 200 SELECT * FROM table WHERE id <= 200 AND id < 300여기에서
part-00000-~random_uuid.gz.parquetpart-00008-에 해당하는 9개의 파일이 생성됩니다. 그러나random_uuid.gz.parquet200~350사이의 ID가 있는 행이 없으면 완료된 파티션 중 하나가 비어 있게 되고 해당 파티션에 대한 파일이 생성되지 않습니다. 이전 예제에서는part-00001-이 생성되지 않았습니다.random_uuid.gz.parquet -
이전 규칙:
part-partition_index-random_uuid.format-based_extension이는 현재 규칙과 동일하지만
접두사는 없습니다. 예를 들면 다음과 같습니다.batch_indexpart-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
파일 명명 규칙은 변경될 수 있습니다. 따라서 대상 테이블을 읽을 때 테이블의 기본 접두사 내에 있는 모든 내용을 읽는 것이 좋습니다.