

 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](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Tipos de datos compatibles con las tablas de Apache Iceberg
<a name="querying-iceberg-supported-data-types"></a>

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](https://iceberg.apache.org/docs/latest/schemas/) 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\$1ns | - | Amazon Redshift no admite Iceberg V3. | 
| timestamptz\$1ns | - | 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](c_Supported_data_types.md).