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
Uso de tablas de Apache Iceberg con Amazon Redshift
nota
Para obtener el mejor rendimiento al utilizar tablas de Apache Iceberg con Amazon Redshift, debe generar estadísticas de columnas para las tablas mediante AWS Glue. Para obtener más información, consulte Generación de estadísticas de las columnas de las tablas de Iceberg en la Guía para desarrolladores de AWS Glue.
En este tema se describe cómo utilizar tablas en formato Apache Iceberg con Amazon Redshift. Apache Iceberg es un formato de tabla de código abierto de gran rendimiento para lagos de datos. Para obtener más información, consulte Apache Iceberg
Puede consultar las tablas de Apache Iceberg catalogadas en AWS Glue Data Catalog con Amazon Redshift. Los tipos de instancia RG y Redshift Serverless utilizan su propia computación para procesar las consultas del lago de datos, mientras que los tipos de instancia RA3 utilizan Redshift Spectrum. Para obtener más información, consulte Consulta del lago de datos.
Amazon Redshift proporciona coherencia transaccional para consultar las tablas de Apache Iceberg. Puede manipular los datos de las tablas mediante servicios compatibles con ACID (atomicidad, coherencia, aislamiento y durabilidad) como Amazon Athena y Amazon EMR mientras ejecuta consultas con Amazon Redshift. Amazon Redshift puede utilizar las estadísticas de tabla almacenadas en los metadatos de Apache Iceberg para optimizar los planes de consulta y reducir los escaneos de archivos durante el procesamiento de las consultas. Con Amazon Redshift SQL, puede unir tablas de Redshift con tablas de lago de datos.
Para empezar a utilizar las tablas de Iceberg con Amazon Redshift:
Cree una tabla de Apache Iceberg en una base de datos de AWS Glue Data Catalog mediante un servicio compatible como Amazon Athena o Amazon EMR. Para crear una tabla de Iceberg mediante Athena, consulte Uso de las tablas de Apache Iceberg en la Guía del usuario de Amazon Athena.
Cree un clúster de Amazon Redshift o un grupo de trabajo de Redshift sin servidor con un rol de IAM asociado que permita el acceso a su lago de datos. Para obtener información sobre cómo crear clústeres o grupos de trabajo, consulte Introducción a los almacenamientos de datos de Amazon Redshift e Introducción a almacenamientos de datos de Redshift sin servidor en la Guía de introducción de Amazon Redshift.
Conéctese a su clúster o grupo de trabajo mediante el editor de consultas v2 o un cliente SQL de terceros. Para obtener información sobre cómo conectarse mediante el editor de consultas v2, consulte Conexión a un almacenamiento de datos de Amazon Redshift con herramientas de cliente de SQL en la Guía de administración de Amazon Redshift.
Cree un esquema externo en la base de datos de Amazon Redshift para una base de datos de catálogo de datos específica que incluya las tablas de Iceberg. Para obtener información sobre la creación de un esquema externo, consulte Esquemas externos en Amazon Redshift Spectrum.
Utilice las consultas SQL para acceder a las tablas Iceberg del esquema externo que ha creado.
Consideraciones al utilizar tablas de Apache Iceberg con Amazon Redshift
Tenga en cuenta lo siguiente cuando utilice Amazon Redshift con tablas de Iceberg:
-
Compatibilidad con la versión de Iceberg: Amazon Redshift admite la ejecución de consultas en las siguientes versiones de tablas de Iceberg:
-
Versión 1, que define cómo se administran las tablas analíticas de gran tamaño mediante archivos de datos inmutables.
-
Versión 2, que agrega la capacidad de admitir la actualización y eliminación en el nivel de fila sin modificar los archivos de datos existentes y el control de los cambios en los datos de la tabla mediante archivos de eliminación.
Para ver la diferencia entre las tablas de la versión 1 y la versión 2, consulte Format version changes
en la documentación de Apache Iceberg. -
-
Adición de particiones: no es necesario que agregue manualmente particiones para sus tablas de Apache Iceberg. Amazon Redshift detecta automáticamente las nuevas particiones en las tablas de Apache Iceberg y no es necesaria ninguna operación manual para actualizar las particiones en la definición de tabla. Cualquier cambio en la especificación de las particiones también se aplica automáticamente a las consultas sin intervención del usuario.
-
Ingesta de datos de Iceberg en Amazon Redshift: puede utilizar los comandos INSERT INTO o CREATE TABLE AS para importar datos de su tabla de Iceberg en una tabla local de Amazon Redshift. Actualmente no puede utilizar el comando COPY para ingerir el contenido de una tabla de Apache Iceberg en una tabla local de Amazon Redshift.
-
Vistas materializadas: puede crear vistas materializadas en las tablas de Apache Iceberg como en cualquier otra tabla externa de Amazon Redshift. Se aplican a las tablas de Apache Iceberg las mismas consideraciones para otros formatos de tablas de lago de datos. Actualmente no se admiten la reescritura automática de consultas ni las vistas materializadas automáticas en las tablas del lago de datos.
-
Control de acceso detallado de AWS Lake Formation Amazon Redshift admite el control de acceso detallado en las tablas de AWS Lake Formation.
-
Parámetros de control de datos definidos por el usuario: Amazon Redshift admite parámetros de control de datos definidos por el usuario en tablas de Apache Iceberg. Utiliza parámetros de tratamiento de datos definidos por el usuario en los archivos existentes para adaptar los datos que se consultan en las tablas externas y evitar errores de análisis. Estos parámetros proporcionan capacidades para controlar las discordancias entre el esquema de la tabla y los datos reales de los archivos. También puede utilizar parámetros de control de datos definidos por el usuario en las tablas de Apache Iceberg.
-
Consultas de viajes en el tiempo: las consultas de viajes en el tiempo no son compatibles actualmente con las tablas de Apache Iceberg.
-
Precios: al acceder a las tablas de Iceberg desde un clúster de RG o un grupo de trabajo sin servidor de Redshift, las consultas de lago de datos se ejecutan en los propios recursos de computación del clúster o grupo de trabajo, por lo que las consultas de lago de datos no tienen ningún coste adicional. Cuando acceda a las tablas de Iceberg desde un clúster de DC2 o RA3, se le cobrarán los precios de Redshift Spectrum. Para obtener información acerca de los precios, consulte Precios de Amazon Redshift
. -
Almacenamiento en caché de metadatos: el almacenamiento en caché de metadatos supone que los archivos de metadatos son inmutables en función de la especificación de Iceberg
. La inmutabilidad de los archivos de metadatos es un requisito para la integridad de los datos en Amazon Redshift. -
Identidad federada: no se admite la identidad federada cuando se escribe en tablas de Apache Iceberg. Esto incluye el uso de la palabra clave SESSION para el parámetro IAM_ROLE al crear esquemas externos. Para obtener más información sobre los parámetros IAM_ROLE, consulte CREATE EXTERNAL SCHEMA.