Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting
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.
Mit Apache-Iceberg-Tabellen unterstützte Datentypen
In diesem Thema werden die unterstützten Datentypen beschrieben, die Redshift Spectrum aus Tabellen im Apache Iceberg-Format lesen kann.
Amazon Redshift kann Iceberg-Tabellen abfragen, welche die folgenden Datentypen enthalten:
binary boolean date decimal double float int list long map string struct timestamp without time zone
Wenn Sie eine Iceberg-Tabelle erstellen und definieren, verwenden Sie die Amazon Redshift Redshift-Datentypnamen in der SQL-Anweisung. Redshift ordnet sie automatisch den entsprechenden Eisbergtypen zu. Weitere Informationen zu Iceberg-Datentypen finden Sie unter Schemata für Iceberg
Beim Lesen aus Iceberg-Tabellen werden Iceberg-Datentypen Redshift-Datentypen zugeordnet, wie in der folgenden Tabelle dargestellt:
| Iceberg-Typ | Amazon-Redshift-Typ | Hinweise |
|---|---|---|
boolean |
boolean |
- |
| - | tinyint |
Nicht unterstützt für Iceberg-Tabellen. |
| - | smallint |
Nicht unterstützt für Iceberg-Tabellen. |
int |
int |
- |
long |
bigint |
- |
double |
double precision |
- |
float |
real |
- |
decimal(P, S) |
decimal(P, S) |
P ist Präzision, S ist Skalierung. |
| - | char |
Nicht unterstützt für Iceberg-Tabellen. |
string |
varchar(16384) |
Zeichenfolgen, die größer als 16384 sind, werden auf 16384 gekürzt. |
binary |
varbyte(64000) |
- |
date |
date |
- |
time |
- | - |
timestamp |
timestamp |
- |
timestamptz |
timestampz |
- |
list<E> |
SUPER |
- |
map<K,V> |
SUPER |
- |
struct<...> |
SUPER |
- |
fixed(L) |
- | Der Typ fixed(L) wird derzeit in Redshift Spectrum nicht unterstützt. |
uuid |
- | Der Typ uuid wird derzeit in Redshift Spectrum nicht unterstützt. |
variant |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
geometry |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
geography |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
timestamp_ns |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
timestamptz_ns |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
Unknown |
- | Amazon Redshift unterstützt Iceberg V3 nicht. |
Die folgenden Datentypen werden bei der Erstellung von Iceberg-Tabellen aus Redshift unterstützt. Redshift-Datentypen werden Iceberg-Datentypen zugeordnet, wie in der folgenden Tabelle dargestellt.
| Amazon-Redshift-Typ | Amazon Redshift Redshift-Aliasname | Iceberg-Typ | Hinweise |
|---|---|---|---|
integer |
int, int4 |
int |
- |
bigint |
int8 |
long |
- |
decimal |
numeric |
decimal(p,S) |
- |
real |
float4 |
float |
- |
double precision |
float8, float |
double |
- |
varchar |
charactter varying,nvarchar, text |
string |
Der varchar(n) Datentyp wird beim Erstellen einer Iceberg-Tabelle nicht unterstützt. |
date |
- | date |
- |
timestamp |
- | timestamp |
- |
timestamptz |
- | timestamptz |
- |
boolean |
- | boolean |
- |
Beim Schreiben in Iceberg-Tabellen werden zusätzlich zu den in der vorherigen Tabelle genannten Datentypen einige Quelldatentypen auf ihre kompatiblen Iceberg-Typen heraufgestuft, wie in der folgenden Tabelle dargestellt.
| Amazon-Redshift-Typ | Iceberg-Typ |
|---|---|
|
|
|
|
|
|
|
|
|
Der Versuch, Datentypen zu verwenden, die nicht unterstützt werden, führt zu Syntaxfehlern. Wenn Sie eine Iceberg-Tabelle mit CREATE TABLE AS SELECT Klausel erstellen, können Sie eine explizite Umwandlung hinzufügen, um den Typunterschied zu umgehen.
Nehmen wir beispielsweise an, Sie haben eine Redshift RMS-Tabelle mit dem folgenden Schema:
CREATE TABLE rms_t (c1 int, c2 char(20));
Wenn Sie eine Iceberg-Tabelle rms_t als Quelle erstellen möchten, benötigen Sie eine explizite Umwandlung für die c2 Spalte, da der varchar(n) Typ nicht unterstützt wird:
CREATE TABLE ext_schema.iceberg_t AS SELECT c1, c2::varchar FROM rms_t;
Weitere Informationen zu Datentypen in Amazon Redshift finden Sie unter Datentypen.