Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog
Tipos de datos compatibles con las tablas de Apache Iceberg
En este tema se describen los tipos de datos compatibles que Redshift Spectrum puede leer de tablas en formato de Apache Iceberg.
Amazon Redshift puede consultar las tablas de Iceberg que contienen los siguientes tipos de datos:
binary boolean date decimal double float int list long map string struct timestamp without time zone
Al crear y definir una tabla de Iceberg, utilice los nombres de los tipos de datos de Amazon Redshift en la instrucción SQL. Redshift los asigna automáticamente a los tipos de iceberg correspondientes. Para obtener más información sobre los tipos de datos de Iceberg, consulte los esquemas para Iceberg
Al leer tablas de Iceberg, los tipos de datos de Iceberg se asignan a tipos de datos de Redshift, como se muestra en la siguiente tabla:
| Tipo Iceberg | Tipo de Amazon Redshift | Notas |
|---|---|---|
boolean |
boolean |
- |
| - | tinyint |
No es compatible con las tablas de Iceberg. |
| - | smallint |
No es compatible con las tablas de Iceberg. |
int |
int |
- |
long |
bigint |
- |
double |
double precision |
- |
float |
real |
- |
decimal(P, S) |
decimal(P, S) |
P es la precisión, S es la escala. |
| - | char |
No es compatible con las tablas de Iceberg. |
string |
varchar(16384) |
Cadenas más grandes que 16384 están truncadas en 16384. |
binary |
varbyte(64000) |
- |
date |
date |
- |
time |
- | - |
timestamp |
timestamp |
- |
timestamptz |
timestampz |
- |
list<E> |
SUPER |
- |
map<K,V> |
SUPER |
- |
struct<...> |
SUPER |
- |
fixed(L) |
- | El tipo fixed(L) no se admite actualmente en Redshift Spectrum. |
uuid |
- | El tipo uuid no se admite actualmente en Redshift Spectrum. |
variant |
- | Amazon Redshift no admite Iceberg V3. |
geometry |
- | Amazon Redshift no admite Iceberg V3. |
geography |
- | Amazon Redshift no admite Iceberg V3. |
timestamp_ns |
- | Amazon Redshift no admite Iceberg V3. |
timestamptz_ns |
- | Amazon Redshift no admite Iceberg V3. |
Unknown |
- | Amazon Redshift no admite Iceberg V3. |
Se admiten los siguientes tipos de datos al crear tablas de Iceberg desde Redshift. Los tipos de datos de Redshift se asignan a los tipos de datos de Iceberg, como se muestra en la siguiente tabla.
| Tipo de Amazon Redshift | Alias de Amazon Redshift | Tipo Iceberg | Notas |
|---|---|---|---|
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 |
El tipo de datos varchar(n) no se admite al crear una tabla de iceberg. |
date |
- | date |
- |
timestamp |
- | timestamp |
- |
timestamptz |
- | timestamptz |
- |
boolean |
- | boolean |
- |
Al escribir en tablas de iceberg, además de los tipos de datos mencionados en la tabla anterior, algunos tipos de datos de origen se convierten en tipos de Iceberg compatibles, como se muestra en la tabla siguiente.
| Tipo de Amazon Redshift | Tipo Iceberg |
|---|---|
|
|
|
|
|
|
|
|
|
Si intenta utilizar tipos de datos que no son compatibles, se producirán errores de sintaxis. Al crear una tabla de Iceberg con una cláusula CREATE TABLE AS SELECT, puede agregar una conversión explícita para evitar la diferencia de tipos.
Por ejemplo, suponga que tiene una tabla de Redshift RMS con el siguiente esquema:
CREATE TABLE rms_t (c1 int, c2 char(20));
Si quiere crear una tabla de Iceberg mediante rms_t como origen, necesita una conversión explícita para la columna c2, ya que el tipo varchar(n) no es compatible:
CREATE TABLE ext_schema.iceberg_t AS SELECT c1, c2::varchar FROM rms_t;
Para obtener más información sobre los tipos de datos en Amazon Redshift, consulte Tipos de datos.