

# Amazon S3 for Amazon RDS로 내보내기 위한 파일 이름 지정 규칙
<a name="USER_ExportSnapshot.FileNames"></a>

특정 테이블에 대해 내보낸 데이터는 `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.parquet`\$1`part-00008-random_uuid.gz.parquet`에 해당하는 9개의 파일이 생성됩니다. 그러나 `200`\$1`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
  ```

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