

# 数据库集群导出注意事项
<a name="export-cluster-data.Considerations"></a>

使用以下各节来了解将数据库集群数据导出到 Amazon S3 时的限制、文件命名约定以及数据转换和存储。

**Topics**
+ [限制](#export-cluster-data.Limits)
+ [文件命名约定](#export-cluster-data.FileNames)
+ [数据转换和存储格式](#export-cluster-data.data-types)

## 限制
<a name="export-cluster-data.Limits"></a>

将数据库集群数据导出到 Amazon S3 有以下限制：
+ 您不能同时为同一个数据库集群运行多个导出任务。这同时适用于完全导出和部分导出。
+ 每个 AWS 账户 最多可以执行五个并发数据库快照导出任务。
+ Aurora Serverless v1 数据库集群不支持导出到 S3。
+ Aurora MySQL 和 Aurora PostgreSQL 仅对于预调配的引擎模式支持导出到 S3。
+ 导出到 S3 不支持包含冒号（:）的 S3 前缀。
+ 在导出过程中，S3 文件路径中的以下字符将转换为下划线 (\$1)：

  ```
  \ ` " (space)
  ```
+ 如果数据库、架构或表的名称中包含以下字符以外的字符，则不支持部分导出。但是，您可以导出整个数据库集群。
  + 拉丁字母 (A–Z)
  + 数字 (0–9)
  + 美元符号 (\$1)
  + 下划线 (\$1)
+ 数据库表列名不支持空格 ( ) 和某些字符。在导出过程中会跳过列名中包含以下字符的表：

  ```
  , ; { } ( ) \n \t = (space)
  ```
+ 在导出过程中会跳过其名称中包含斜杠 (/) 的表。
+ 在导出期间，将跳过 Aurora PostgreSQL 临时表和未记录的表。
+ 如果数据包含接近或大于 500MB 的大型对象（例如 BLOB 或 CLOB），则导出失败。
+ 如果表中某个大行的大小接近或大于 2GB，则会在导出过程中略过该表。
+ 对于部分导出，`ExportOnly` 列表的最大大小为 200 KB。
+ 强烈建议您为每个导出任务使用唯一的名称。如果您没有使用唯一的任务名称，可能会收到以下错误消息：

  ExportTaskAlreadyExistsFault：调用 StartExportTask 操作时发生错误 (ExportTaskAlreadyExists)：ID 为 *xxxxx* 的导出任务已存在。
+ 由于某些表可能会被跳过，因此建议您在导出后验证数据中的行数和表数。

## 文件命名约定
<a name="export-cluster-data.FileNames"></a>

特定表的导出数据以 `base_prefix/files` 格式存储，基本前缀如下：

```
export_identifier/database_name/schema_name.table_name/
```

例如：

```
export-1234567890123-459/rdststcluster/mycluster.DataInsert_7ADB5D19965123A2/
```

输出文件使用以下命名约定，其中 *partition\$1index* 是字母数字：

```
partition_index/part-00000-random_uuid.format-based_extension
```

例如：

```
1/part-00000-c5a881bb-58ff-4ee6-1111-b41ecff340a3-c000.gz.parquet
    a/part-00000-d7a881cc-88cc-5ab7-2222-c41ecab340a4-c000.gz.parquet
```

文件命名约定可能会更改。因此，在读取目标表时，我们建议您读取表的基本前缀内的所有内容。

## 数据转换和存储格式
<a name="export-cluster-data.data-types"></a>

将数据库集群导出到 Amazon S3 存储桶时，Amazon Aurora 以 Parquet 格式转换、导出并存储数据。有关更多信息，请参阅 [导出到 Amazon S3 存储桶时的数据转换](aurora-export-snapshot.Considerations.md#aurora-export-snapshot.data-types)。