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
열이 테이블의 프라이머리 키이고 최소값과 최대값이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_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
파일 명명 규칙은 변경될 수 있습니다. 따라서 대상 테이블을 읽을 때 테이블의 기본 접두사 내에 있는 모든 내용을 읽는 것이 좋습니다.