Uso de tablas de Apache Iceberg con Amazon Redshift - Amazon Redshift

Uso de tablas de Apache Iceberg con Amazon Redshift

En este tema se describe cómo utilizar las tablas en formato de Apache Iceberg con Redshift Spectrum o Redshift sin servidor. Apache Iceberg es un formato de alto rendimiento para tablas de análisis de gran tamaño.

Puede utilizar Redshift Spectrum o Redshift sin servidor para consultar las tablas de Apache Iceberg catalogadas en AWS Glue Data Catalog. Apache Iceberg es un formato de tabla de código abierto para lagos de datos. Para obtener más información, consulte Apache Iceberg en la documentación de Apache Iceberg.

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  • Solo consultas: Amazon Redshift admite el acceso de solo lectura a las tablas de Apache Iceberg. Admite consultas de selección transaccionales coherentes. Puede utilizar un servicio como Amazon Athena para definir y actualizar el esquema de las tablas de Iceberg en el AWS Glue Data Catalog.

  • 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 las actualizaciones incrementales, las renovaciones automáticas, la reescritura automática de consultas ni las máquinas virtuales 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.

  • Uso compartido de datos: el uso compartido de datos de Amazon Redshift no admite actualmente tablas de lago de datos, incluidas 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: cuando acceda a las tablas de Iceberg desde un clúster, se le cobrarán los precios de Redshift Spectrum. Cuando acceda a las tablas de Iceberg desde un grupo de trabajo, se le aplicarán los precios de Redshift sin servidor. Para obtener información sobre los precios de Redshift Spectrum y Redshift sin servidor, consulte Precios de Amazon Redshift.