Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Conversion de données lors de l'exportation vers un compartiment Amazon S3 pour Amazon RDS
Lorsque vous exportez un instantané de base de données vers un compartiment Amazon S3, Amazon RDS convertit les données au format Parquet, les exporte et les stocke. Pour plus d'informations sur Parquet, veuillez consulter le site web Apache Parquet
Parquet stocke toutes les données sous l'un des types primitifs suivants :
-
BOOLEAN
-
INT32
-
INT64
-
INT96
-
FLOAT
-
DOUBLE
-
BYTE_ ARRAY — Un tableau d'octets de longueur variable, également appelé binaire
-
FIXED_ LEN _ BYTE _ ARRAY — Un tableau d'octets de longueur fixe utilisé lorsque les valeurs ont une taille constante
Les types de données Parquet sont peu nombreux afin de la complexité de la lecture et de l'écriture du format. Parquet fournit des types logiques pour étendre les types primitifs. Un type logique est implémenté sous forme d'annotation avec les données dans un champ de métadonnées LogicalType
. L'annotation de type logique explique comment interpréter le type primitif.
Lorsque le type STRING
logique annote un BYTE_ARRAY
type, cela indique que le tableau d'octets doit être interprété comme une chaîne de caractères codée en UTF -8. Une fois la tâche d'exportation terminée, Amazon vous RDS avertit si une conversion de chaîne a eu lieu. Les données sous-jacentes exportées sont toujours les mêmes que celles de la source. Cependant, en raison de la différence d'encodage en UTF -8, certains caractères peuvent sembler différents de ceux de la source lorsqu'ils sont lus dans des outils tels qu'Athena.
Pour plus d'informations, veuillez consulter Parquet Logical Type Definitions
Rubriques
Mon SQL mappage du type de données et de MariaDB vers Parquet
Le tableau suivant montre le mappage entre les types de données My SQL et MariaDB et les types de données Parquet lorsque les données sont converties et exportées vers Amazon S3.
Type de données source | Type primitif du format Parquet | Annotation de type logique | Notes de conversion |
---|---|---|---|
Types de données numériques | |||
BIGINT | INT64 | ||
BIGINT UNSIGNED | FIXED_ LEN _ BYTE _ ARRAY (9) | DECIMAL(20,0) | Parquet ne prend en charge que les types signés. Le mappage nécessite donc un octet supplémentaire (8 plus 1) pour stocker le UNSIGNED type BIGINT _. |
BIT | BYTE_ARRAY | ||
DECIMAL | INT32 | DECIMAL(p, s) | Si la valeur source est inférieure à 2 31, elle est stockée sous la formeINT32. |
INT64 | DECIMAL(p, s) | Si la valeur source est supérieure ou égale à 2 31, mais inférieure à 2 63, elle est stockée sous la formeINT64. | |
FIXED_ LEN _ BYTE _ ARRAY (N) | DECIMAL(p, s) | Si la valeur source est supérieure ou égale à 2 63, elle est stockée sous la forme FIXED LEN _ BYTE _ _ ARRAY (N). | |
BYTE_ARRAY | STRING | Parquet ne prend pas en charge une précision décimale supérieure à 38. La valeur décimale est convertie en chaîne de ARRAY type BYTE _ et codée sous UTF8 la forme. | |
DOUBLE | DOUBLE | ||
FLOAT | DOUBLE | ||
INT | INT32 | ||
INT UNSIGNED | INT64 | ||
MEDIUMINT | INT32 | ||
MEDIUMINT UNSIGNED | INT64 | ||
NUMERIC | INT32 | DECIMAL(p, s) |
Si la valeur source est inférieure à 2 31, elle est stockée sous la formeINT32. |
INT64 | DECIMAL(p, s) | Si la valeur source est supérieure ou égale à 2 31, mais inférieure à 2 63, elle est stockée sous la formeINT64. | |
FIXED_ LEN _ ARRAY (N) | DECIMAL(p, s) | Si la valeur source est supérieure ou égale à 2 63, elle est stockée sous la forme FIXED LEN _ BYTE _ _ ARRAY (N). | |
BYTE_ARRAY | STRING | Parquet ne prend pas en charge la précision numérique supérieure à 38. Cette valeur numérique est convertie en chaîne de ARRAY type BYTE _ et codée sous UTF8 la forme. | |
SMALLINT | INT32 | ||
SMALLINT UNSIGNED | INT32 | ||
TINYINT | INT32 | ||
TINYINT UNSIGNED | INT32 | ||
Types de données chaîne | |||
BINARY | BYTE_ARRAY | ||
BLOB | BYTE_ARRAY | ||
CHAR | BYTE_ARRAY | ||
ENUM | BYTE_ARRAY | STRING | |
LINESTRING | BYTE_ARRAY | ||
LONGBLOB | BYTE_ARRAY | ||
LONGTEXT | BYTE_ARRAY | STRING | |
MEDIUMBLOB | BYTE_ARRAY | ||
MEDIUMTEXT | BYTE_ARRAY | STRING | |
MULTILINESTRING | BYTE_ARRAY | ||
SET | BYTE_ARRAY | STRING | |
TEXT | BYTE_ARRAY | STRING | |
TINYBLOB | BYTE_ARRAY | ||
TINYTEXT | BYTE_ARRAY | STRING | |
VARBINARY | BYTE_ARRAY | ||
VARCHAR | BYTE_ARRAY | STRING | |
Types de données de date et d'heure | |||
DATE | BYTE_ARRAY | STRING | Une date est convertie en chaîne de ARRAY type BYTE _ et codée sous la formeUTF8. |
DATETIME | INT64 | TIMESTAMP_MICROS | |
TIME | BYTE_ARRAY | STRING | Un TIME type est converti en chaîne dans un BYTE _ ARRAY et codé sous la formeUTF8. |
TIMESTAMP | INT64 | TIMESTAMP_MICROS | |
YEAR | INT32 | ||
Types de données géométriques | |||
GEOMETRY | BYTE_ARRAY | ||
GEOMETRYCOLLECTION | BYTE_ARRAY | ||
MULTIPOINT | BYTE_ARRAY | ||
MULTIPOLYGON | BYTE_ARRAY | ||
POINT | BYTE_ARRAY | ||
POLYGON | BYTE_ARRAY | ||
JSONtype de données | |||
JSON | BYTE_ARRAY | STRING |
mappage du type SQL de données Postgre vers Parquet
Le tableau suivant montre le mappage entre les types de SQL données Postgre et les types de données Parquet lorsque les données sont converties et exportées vers Amazon S3.
Type de SQL données Postgre | Type primitif du format Parquet | Annotation de type logique | Notes de mappage |
---|---|---|---|
Types de données numériques | |||
BIGINT | INT64 | ||
BIGSERIAL | INT64 | ||
DECIMAL | BYTE_ARRAY | STRING | Un DECIMAL type est converti en chaîne de ARRAY type BYTE _ et codé sous la formeUTF8. Cette conversion vise à éviter les complications dues à la précision des données et aux valeurs de données qui ne sont pas un nombre (NaN). |
DOUBLE PRECISION | DOUBLE | ||
INTEGER | INT32 | ||
MONEY | BYTE_ARRAY | STRING | |
REAL | FLOAT | ||
SERIAL | INT32 | ||
SMALLINT | INT32 | INT_16 | |
SMALLSERIAL | INT32 | INT_16 | |
Types de chaînes et de données associés | |||
ARRAY | BYTE_ARRAY | STRING |
Un tableau est converti en chaîne et codé sous la forme BINARY (UTF8). Cette conversion vise à éviter les complications dues à la précision des données, aux valeurs de données qui ne sont pas un nombre (NaN) et aux valeurs de données horaires. |
BIT | BYTE_ARRAY | STRING | |
BIT VARYING | BYTE_ARRAY | STRING | |
BYTEA | BINARY | ||
CHAR | BYTE_ARRAY | STRING | |
CHAR(N) | BYTE_ARRAY | STRING | |
ENUM | BYTE_ARRAY | STRING | |
NAME | BYTE_ARRAY | STRING | |
TEXT | BYTE_ARRAY | STRING | |
TEXT SEARCH | BYTE_ARRAY | STRING | |
VARCHAR(N) | BYTE_ARRAY | STRING | |
XML | BYTE_ARRAY | STRING | |
Types de données de date et d'heure | |||
DATE | BYTE_ARRAY | STRING | |
INTERVAL | BYTE_ARRAY | STRING | |
TIME | BYTE_ARRAY | STRING | |
TIME WITH TIME ZONE | BYTE_ARRAY | STRING | |
TIMESTAMP | BYTE_ARRAY | STRING | |
TIMESTAMP WITH TIME ZONE | BYTE_ARRAY | STRING | |
Types de données géométriques | |||
BOX | BYTE_ARRAY | STRING | |
CIRCLE | BYTE_ARRAY | STRING | |
LINE | BYTE_ARRAY | STRING | |
LINESEGMENT | BYTE_ARRAY | STRING | |
PATH | BYTE_ARRAY | STRING | |
POINT | BYTE_ARRAY | STRING | |
POLYGON | BYTE_ARRAY | STRING | |
JSONtypes de données | |||
JSON | BYTE_ARRAY | STRING | |
JSONB | BYTE_ARRAY | STRING | |
Autres types de données | |||
BOOLEAN | BOOLEAN | ||
CIDR | BYTE_ARRAY | STRING | Type de données de réseau |
COMPOSITE | BYTE_ARRAY | STRING | |
DOMAIN | BYTE_ARRAY | STRING | |
INET | BYTE_ARRAY | STRING | Type de données de réseau |
MACADDR | BYTE_ARRAY | STRING | |
OBJECT IDENTIFIER | N/A | ||
PG_ LSN | BYTE_ARRAY | STRING | |
RANGE | BYTE_ARRAY | STRING | |
UUID | BYTE_ARRAY | STRING |