Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Datenkonvertierung beim Export in einen Amazon S3 S3-Bucket für Amazon RDS
Wenn Sie einen DB-Snapshot in einen Amazon S3 S3-Bucket exportieren, RDS konvertiert Amazon Daten in das Parquet-Format, exportiert Daten in dieses und speichert Daten im Parquet-Format. Weitere Informationen über Parquet finden Sie auf der Website Apache Parquet
Parquet speichert alle Daten als einen der folgenden primitiven Typen:
-
BOOLEAN
-
INT32
-
INT64
-
INT96
-
FLOAT
-
DOUBLE
-
BYTE_ ARRAY — Ein Byte-Array mit variabler Länge, auch als binär bezeichnet
-
FIXED_ _ LEN BYTE _ ARRAY — Ein Byte-Array mit fester Länge, das verwendet wird, wenn die Werte eine konstante Größe haben
Es gibt nur wenige Parquet-Datentypen, um die Komplexität beim Lesen und Schreiben des Formats zu reduzieren. Parquet bietet logische Typen zur Erweiterung primitiver Typen. Ein logischer Typ ist als Annotation, bei der Daten in einem LogicalType
-Metadatenfeld implementiert sind. Die logische Typannotation beschreibt, wie der primitive Typ zu interpretieren ist.
Wenn der STRING
logische Typ einen BYTE_ARRAY
Typ annotiert, bedeutet dies, dass das Byte-Array als eine mit UTF -8 kodierte Zeichenfolge interpretiert werden sollte. Nach Abschluss einer Exportaufgabe RDS benachrichtigt Amazon Sie, wenn eine Zeichenkettenkonvertierung stattgefunden hat. Die zugrunde liegenden exportierten Daten entsprechen immer den Daten aus der Quelle. Aufgrund des Kodierungsunterschieds in UTF -8 können einige Zeichen jedoch anders aussehen als die Quelle, wenn sie in Tools wie Athena gelesen werden.
Weitere Informationen finden Sie unter Logische Typdefinitionen für Parquet
Themen
Zuordnung von My SQL - und MariaDB-Datentypen zu Parquet
Die folgende Tabelle zeigt die Zuordnung von My SQL - und MariaDB-Datentypen zu Parquet-Datentypen, wenn Daten konvertiert und nach Amazon S3 exportiert werden.
Quelldatentyp | Parquet-Primitiv-Typ | Logische Typannotation | Anmerkungen zur Konvertierung |
---|---|---|---|
Numerische Datentypen | |||
BIGINT | INT64 | ||
BIGINT UNSIGNED | FIXED_ _ LEN BYTE _ ARRAY (9) | DECIMAL(20,0) | Parquet unterstützt nur Typen mit Vorzeichen, daher benötigt das Mapping ein zusätzliches Byte (8 plus 1), um den UNSIGNED Typ BIGINT _ zu speichern. |
BIT | BYTE_ARRAY | ||
DECIMAL | INT32 | DECIMAL(p, s) | Wenn der Quellwert kleiner als 2 31 ist, wird er gespeichert alsINT32. |
INT64 | DECIMAL(p, s) | Wenn der Quellwert 2 31 oder größer, aber kleiner als 2 63 ist, wird er gespeichert alsINT64. | |
FIXED_ LEN _ BYTE _ ARRAY (N) | DECIMAL(p, s) | Wenn der Quellwert 2 63 oder höher ist, wird er als FIXED _ _ LEN BYTE _ ARRAY (N) gespeichert. | |
BYTE_ARRAY | STRING | Parquet unterstützt maximal 38 Dezimalstellen. Der Dezimalwert wird in eine Zeichenfolge ARRAY vom Typ BYTE _ umgewandelt und als UTF8 codiert. | |
DOUBLE | DOUBLE | ||
FLOAT | DOUBLE | ||
INT | INT32 | ||
INT UNSIGNED | INT64 | ||
MEDIUMINT | INT32 | ||
MEDIUMINT UNSIGNED | INT64 | ||
NUMERIC | INT32 | DECIMAL(p, s) |
Wenn der Quellwert kleiner als 2 31 ist, wird er gespeichert alsINT32. |
INT64 | DECIMAL(p, s) | Wenn der Quellwert 2 31 oder größer, aber kleiner als 2 63 ist, wird er gespeichert alsINT64. | |
FIXED_ LEN _ ARRAY (N) | DECIMAL(p, s) | Wenn der Quellwert 2 63 oder höher ist, wird er als FIXED _ _ LEN BYTE _ ARRAY (N) gespeichert. | |
BYTE_ARRAY | STRING | Parquet unterstützt keine numerische Genauigkeit größer als 38. Dieser numerische Wert wird in eine Zeichenfolge ARRAY vom Typ BYTE _ konvertiert und als UTF8 codiert. | |
SMALLINT | INT32 | ||
SMALLINT UNSIGNED | INT32 | ||
TINYINT | INT32 | ||
TINYINT UNSIGNED | INT32 | ||
Zeichenfolgen-Datentypen | |||
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 | |
Datums- und Uhrzeit-Datentypen | |||
DATE | BYTE_ARRAY | STRING | Ein Datum wird in eine Zeichenfolge vom ARRAY Typ BYTE _ konvertiert und als codiert. UTF8 |
DATETIME | INT64 | TIMESTAMP_MICROS | |
TIME | BYTE_ARRAY | STRING | Ein TIME Typ wird in eine Zeichenfolge in einem BYTE _ umgewandelt ARRAY und als codiert. UTF8 |
TIMESTAMP | INT64 | TIMESTAMP_MICROS | |
YEAR | INT32 | ||
Geometrische Datentypen | |||
GEOMETRY | BYTE_ARRAY | ||
GEOMETRYCOLLECTION | BYTE_ARRAY | ||
MULTIPOINT | BYTE_ARRAY | ||
MULTIPOLYGON | BYTE_ARRAY | ||
POINT | BYTE_ARRAY | ||
POLYGON | BYTE_ARRAY | ||
JSONDatentyp | |||
JSON | BYTE_ARRAY | STRING |
Zuordnung des SQL Postgre-Datentyps zu Parquet
Die folgende Tabelle zeigt die Zuordnung von SQL Postgre-Datentypen zu Parquet-Datentypen, wenn Daten konvertiert und nach Amazon S3 exportiert werden.
Postgre-Datentyp SQL | Parquet-Primitiv-Typ | Logische Typannotation | Anmerkungen zum Mapping |
---|---|---|---|
Numerische Datentypen | |||
BIGINT | INT64 | ||
BIGSERIAL | INT64 | ||
DECIMAL | BYTE_ARRAY | STRING | Ein DECIMAL Typ wird in eine Zeichenfolge in einem BYTE ARRAY _-Typ konvertiert und als codiert. UTF8 Diese Konvertierung soll Komplikationen aufgrund von Datengenauigkeit und Datenwerten, die keine Zahlen sind (NaN), vermeiden. |
DOUBLE PRECISION | DOUBLE | ||
INTEGER | INT32 | ||
MONEY | BYTE_ARRAY | STRING | |
REAL | FLOAT | ||
SERIAL | INT32 | ||
SMALLINT | INT32 | INT_16 | |
SMALLSERIAL | INT32 | INT_16 | |
Zeichenfolgen- und verwandte Datentypen | |||
ARRAY | BYTE_ARRAY | STRING |
Ein Array wird in eine Zeichenfolge umgewandelt und als BINARY () UTF8 codiert. Diese Konvertierung dient dazu, Komplikationen aufgrund von Datengenauigkeit, Datenwerten, die keine Zahl sind (NaN), und Zeitdatenwerten zu vermeiden. |
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 | |
Datums- und Uhrzeit-Datentypen | |||
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 | |
Geometrische Datentypen | |||
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 | |
JSONDatentypen | |||
JSON | BYTE_ARRAY | STRING | |
JSONB | BYTE_ARRAY | STRING | |
Weitere Datentypen | |||
BOOLEAN | BOOLEAN | ||
CIDR | BYTE_ARRAY | STRING | Network-Datentyp |
COMPOSITE | BYTE_ARRAY | STRING | |
DOMAIN | BYTE_ARRAY | STRING | |
INET | BYTE_ARRAY | STRING | Network-Datentyp |
MACADDR | BYTE_ARRAY | STRING | |
OBJECT IDENTIFIER | N/A | ||
PG_ LSN | BYTE_ARRAY | STRING | |
RANGE | BYTE_ARRAY | STRING | |
UUID | BYTE_ARRAY | STRING |