Tipos de datos compatibles con las tablas de Apache Iceberg - Amazon Redshift

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 en la documentación de Apache.

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

tinyint

int

smallint

int

varchar(n)

string

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.