

# Amazon RDS 导出到 Amazon S3 存储桶时的数据转换
<a name="USER_ExportSnapshot.data-types"></a>

将数据库快照导出到 Amazon S3 存储桶时，Amazon RDS 以 Parquet 格式转换数据、导出数据并存储数据。有关 Parquet 的更多信息，请参阅 [Apache Parquet](https://parquet.apache.org/docs/) 网站。

Parquet 将所有数据存储为以下原始类型之一：
+ BOOLEAN
+ INT32
+ INT64
+ INT96
+ FLOAT
+ DOUBLE
+ BYTE\$1ARRAY – 一个可变长度的字节数组，也称为二进制
+ FIXED\$1LEN\$1BYTE\$1ARRAY – 当值具有恒定大小时使用的固定长度字节数组

Parquet 数据类型很少能减少读取和写入格式的复杂性。Parquet 提供了用于扩展原始类型的逻辑类型。*逻辑类型*实现为具有 `LogicalType` 元数据字段中数据的注释。逻辑类型注释说明如何解释原始类型。

当 `STRING` 逻辑类型注释 `BYTE_ARRAY` 类型时，它表示字节数组应被解释为 UTF-8 编码的字符串。导出任务完成后，如果发生了任何字符串转换，则 Amazon RDS 会通知您。导出的基础数据始终与源中的数据相同。但是，由于 UTF-8 中的编码差异，在工具（如 Athena）中读取时，某些字符可能会显示与源不同。

有关更多信息，请参阅 Parquet 文档中的 [Parquet 逻辑类型定义](https://github.com/apache/parquet-format/blob/master/LogicalTypes.md)。

**Topics**
+ [MySQL 和 MariaDB 数据类型到 Parquet 的映射](#USER_ExportSnapshot.data-types.MySQL)
+ [PostgreSQL 数据类型到 Parquet 的映射](#USER_ExportSnapshot.data-types.PostgreSQL)

## MySQL 和 MariaDB 数据类型到 Parquet 的映射
<a name="USER_ExportSnapshot.data-types.MySQL"></a>

下表显示在将数据转换并导出到 Amazon S3 时从 MySQL 和 MariaDB 数据类型到 Parquet 数据类型的映射。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.data-types.html)

## PostgreSQL 数据类型到 Parquet 的映射
<a name="USER_ExportSnapshot.data-types.PostgreSQL"></a>

下表显示在将数据转换并导出到 Amazon S3 时从 PostgreSQL 数据类型到 Parquet 数据类型的映射。


| PostgreSQL 数据类型 | Parquet 原始类型 | 逻辑类型注释 | 映射注释 | 
| --- | --- | --- | --- | 
| 数字数据类型 | 
| BIGINT | INT64 |  |   | 
| BIGSERIAL | INT64 |  |   | 
| DECIMAL | BYTE\$1ARRAY | STRING | DECIMAL 类型转换为 BYTE\$1ARRAY 类型的字符串，并编码为 UTF8。此转换是为了避免由于数据精度和非数字 (NaN) 的数据值而引起的复杂性。 | 
| DOUBLE PRECISION | DOUBLE |  |   | 
| INTEGER | INT32 |  |   | 
| MONEY | BYTE\$1ARRAY | STRING |   | 
| REAL | FLOAT |  |   | 
| SERIAL | INT32 |  |   | 
| SMALLINT | INT32 | INT(16, true) |   | 
| SMALLSERIAL | INT32 | INT(16, true) |   | 
| 字符串和相关数据类型 | 
| ARRAY | BYTE\$1ARRAY | STRING |  数组转换为字符串并编码为 BINARY (UTF8)。 此转换是为了避免因数据精度、非数字 (NaN) 的数据值和时间数据值而产生的复杂性。  | 
| BIT | BYTE\$1ARRAY | STRING |   | 
| BIT VARYING | BYTE\$1ARRAY | STRING |   | 
| BYTEA | BINARY |  |   | 
| CHAR | BYTE\$1ARRAY | STRING |   | 
| CHAR(N) | BYTE\$1ARRAY | STRING |   | 
| ENUM | BYTE\$1ARRAY | STRING |   | 
| NAME | BYTE\$1ARRAY | STRING |   | 
| TEXT | BYTE\$1ARRAY | STRING |   | 
| 文本搜索 | BYTE\$1ARRAY | STRING |   | 
| VARCHAR(N) | BYTE\$1ARRAY | STRING |   | 
| XML | BYTE\$1ARRAY | STRING |   | 
| 日期和时间数据类型 | 
| DATE | BYTE\$1ARRAY | STRING |   | 
| INTERVAL | BYTE\$1ARRAY | STRING |   | 
| TIME | BYTE\$1ARRAY | STRING |  | 
| 带时区的时间 | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP（有时区） | BYTE\$1ARRAY | STRING |  | 
| 几何数据类型 | 
| BOX | BYTE\$1ARRAY | STRING |   | 
| CIRCLE | BYTE\$1ARRAY | STRING |   | 
| LINE | BYTE\$1ARRAY | STRING |   | 
| LINESEGMENT | BYTE\$1ARRAY | STRING |   | 
| 路径 | BYTE\$1ARRAY | STRING |   | 
| POINT | BYTE\$1ARRAY | STRING |   | 
| POLYGON | BYTE\$1ARRAY | STRING |   | 
| JSON 数据类型 | 
| JSON | BYTE\$1ARRAY | STRING |   | 
| JSONB | BYTE\$1ARRAY | STRING |   | 
| 其他数据类型 | 
| BOOLEAN | BOOLEAN |  |   | 
| CIDR | BYTE\$1ARRAY | STRING |  网络数据类型 | 
| COMPOSITE | BYTE\$1ARRAY | STRING |   | 
| DOMAIN | BYTE\$1ARRAY | STRING |   | 
| INET | BYTE\$1ARRAY | STRING |  网络数据类型 | 
| MACADDR | BYTE\$1ARRAY | STRING |   | 
| 对象标识符 | 不适用 |  |  | 
| PG\$1LSN | BYTE\$1ARRAY | STRING |   | 
| RANGE | BYTE\$1ARRAY | STRING |   | 
| UUID | BYTE\$1ARRAY | STRING |   | 