

# Conversão de dados ao exportar para um bucket do Amazon S3 para RDS
<a name="USER_ExportSnapshot.data-types"></a>

Quando você exporta um snapshot de banco de dados para um bucket do Amazon S3, o Amazon RDS converte os dados para o formato Parquet e exporta e armazena os dados nesse formato. Para ter mais informações sobre o Parquet, consulte o site [Apache Parquet](https://parquet.apache.org/docs/).

O Parquet armazena todos os dados como um dos seguintes tipos primitivos:
+ BOOLEAN
+ INT32
+ INT64
+ INT96
+ FLOAT
+ DOUBLE
+ BYTE\$1ARRAY: uma matriz de bytes de comprimento variável, também conhecida como binário
+ FIXED\$1LEN\$1BYTE\$1ARRAY: uma matriz de bytes de comprimento fixo usada quando os valores têm um tamanho constante

Os tipos de dados Parquet são poucos para reduzir a complexidade de leitura e gravação do formato. O Parquet fornece tipos lógicos para estender os tipos primitivos. Um *tipo lógico* é implementado como uma anotação com os dados em um campo de metadados `LogicalType`. A anotação de tipo lógico explica como interpretar o tipo primitivo. 

Quando o tipo lógico `STRING` anota um tipo `BYTE_ARRAY`, ele indica que a matriz de bytes deve ser interpretada como uma string de caracteres codificada em UTF-8. Depois que uma tarefa de exportação é concluída, o Amazon RDS notifica você no caso de ocorrência de uma conversão de string. Os dados subjacentes exportados são sempre os mesmos que os dados da origem. No entanto, devido à diferença de codificação em UTF-8, alguns caracteres podem aparecer diferentes da fonte quando lidos em ferramentas como a Athena.

Para ter mais informações, consulte [Definições de tipos lógicos do Parquet](https://github.com/apache/parquet-format/blob/master/LogicalTypes.md) na documentação do Parquet.

**Topics**
+ [Mapeamento de tipos de dados MySQL e MariaDB para o Parquet](#USER_ExportSnapshot.data-types.MySQL)
+ [Mapeamento de tipo de dados PostgreSQL para Parquet](#USER_ExportSnapshot.data-types.PostgreSQL)

## Mapeamento de tipos de dados MySQL e MariaDB para o Parquet
<a name="USER_ExportSnapshot.data-types.MySQL"></a>

A tabela a seguir mostra o mapeamento dos tipos de dados MySQL e MariaDB para tipos de dados Parquet quando os dados são convertidos e exportados para o Amazon S3.

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

## Mapeamento de tipo de dados PostgreSQL para Parquet
<a name="USER_ExportSnapshot.data-types.PostgreSQL"></a>

A tabela a seguir mostra o mapeamento de tipos de dados PostgreSQL para tipos de dados Parquet quando os dados são convertidos e exportados para o Amazon S3.


| Tipo de dados do PostgreSQL | Tipo primitivo do Parquet | Anotação de tipo lógico | Notas de mapeamento | 
| --- | --- | --- | --- | 
| Tipos de dados numéricos | 
| BIGINT | INT64 |  |   | 
| BIGSERIAL | INT64 |  |   | 
| DECIMAL | BYTE\$1ARRAY | STRING | Um tipo DECIMAL é convertido em uma string em um tipo BYTE\$1ARRAY e codificado como UTF8.Essa conversão é para evitar complicações devido à precisão dos dados e valores de dados que não são um número (NaN). | 
| DOUBLE PRECISION | DOUBLE |  |   | 
| INTEGER | INT32 |  |   | 
| MONEY | BYTE\$1ARRAY | STRING |   | 
| REAL | FLOAT |  |   | 
| SERIAL | INT32 |  |   | 
| SMALLINT | INT32 | INT(16, true) |   | 
| SMALLSERIAL | INT32 | INT(16, true) |   | 
| String e tipos de dados relacionados | 
| ARRAY | BYTE\$1ARRAY | STRING |  Uma matriz é convertida em uma string e codificada como BINARY (UTF8). Essa conversão é para evitar complicações devido à precisão dos dados, os valores dos dados que não são um número (NaN) e os valores de dados de tempo.  | 
| 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 |   | 
| TEXT SEARCH | BYTE\$1ARRAY | STRING |   | 
| VARCHAR(N) | BYTE\$1ARRAY | STRING |   | 
| XML | BYTE\$1ARRAY | STRING |   | 
| Tipos de dados de data e hora | 
| DATE | BYTE\$1ARRAY | STRING |   | 
| INTERVAL | BYTE\$1ARRAY | STRING |   | 
| TIME | BYTE\$1ARRAY | STRING |  | 
| TIME WITH TIME ZONE | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP | BYTE\$1ARRAY | STRING |  | 
| TIMESTAMP WITH TIME ZONE | BYTE\$1ARRAY | STRING |  | 
| Tipos de dados geométricos | 
| BOX | BYTE\$1ARRAY | STRING |   | 
| CIRCLE | BYTE\$1ARRAY | STRING |   | 
| LINE | BYTE\$1ARRAY | STRING |   | 
| LINESEGMENT | BYTE\$1ARRAY | STRING |   | 
| PATH | BYTE\$1ARRAY | STRING |   | 
| POINT | BYTE\$1ARRAY | STRING |   | 
| POLYGON | BYTE\$1ARRAY | STRING |   | 
| Tipos de dados JSON | 
| JSON | BYTE\$1ARRAY | STRING |   | 
| JSONB | BYTE\$1ARRAY | STRING |   | 
| Outros tipos de dados | 
| BOOLEAN | BOOLEAN |  |   | 
| CIDR | BYTE\$1ARRAY | STRING |  Tipo de dados de rede | 
| COMPOSITE | BYTE\$1ARRAY | STRING |   | 
| DOMAIN | BYTE\$1ARRAY | STRING |   | 
| INET | BYTE\$1ARRAY | STRING |  Tipo de dados de rede | 
| MACADDR | BYTE\$1ARRAY | STRING |   | 
| OBJECT IDENTIFIER | N/D |  |  | 
| PG\$1LSN | BYTE\$1ARRAY | STRING |   | 
| RANGE | BYTE\$1ARRAY | STRING |   | 
| UUID | BYTE\$1ARRAY | STRING |   | 