

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 匯出至 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`。當我們嘗試使用九個分割區匯出此資料表時，我們會使用平行查詢來讀取它，如下所示：

  ```
  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` 的九個檔案。不過，如果沒有 ID 介於 `200` 和 `350` 之間的資料列，則其中一個已完成的分割區是空的，而且不會為其建立檔案。在上一個範例中，`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
  ```

檔案命名慣例可能會有所變更。因此，在讀取目標資料表時，建議您讀取資料表基本字首內的所有內容。