El Catálogo de datos de AWS Glue Ahora mejoramiento la optimización de tablas administradas de Apache Iceberg al eliminar automáticamente los archivos de datos que ya no son necesarios. Yuxtapuesto con la optimización automatizada de Glue Data Catalog compactación característica, estas optimizaciones de almacenamiento pueden ayudarle a acortar la sobrecarga de metadatos, controlar los costos de almacenamiento y mejorar el rendimiento de las consultas.
Iceberg crea una nueva interpretación indicación instantánea para cada cambio en los datos de la tabla. Iceberg tiene funciones como viajes en el tiempo y reversiones que le permiten consultar instantáneas de Data Lake o revertir a versiones anteriores. A medida que se realizan más cambios en la tabla, se crean más archivos de datos. Adicionalmente, cualquier rotura durante la escritura en las tablas de Iceberg creará archivos de datos a los que no se hace relato en las instantáneas, asimismo conocidos como archivos huérfanosLas funciones de alucinación en el tiempo, aunque son aperos, pueden entrar en conflicto con normativas como el RGPD, que exigen la matanza permanente de datos. Transmitido que el alucinación en el tiempo permite entrar a los datos a través de instantáneas históricas, se necesitan salvaguardas adicionales para proseguir el cumplimiento de las leyes de privacidad de datos. Para controlar los costos de almacenamiento y cumplir con las normativas, muchas organizaciones han creado canales de datos personalizados que hacen caducar periódicamente las instantáneas de una tabla que ya no son necesarias y eliminan los archivos huérfanos. Sin bloqueo, la creación de estos canales personalizados requiere mucho tiempo y es costosa.
Con este dispersión, puede habilitar la optimización de tablas de Glue Data Catalog para incluir la sucursal de datos huérfanos e instantáneas próximo con la compactación. Puede habilitar esto proporcionando configuraciones como un período de retención predeterminado y días máximos para proseguir los archivos huérfanos. Glue Data Catalog monitorea las tablas diariamente, elimina instantáneas de los metadatos de la tabla y elimina los archivos de datos y los archivos huérfanos que ya no son necesarios. Glue Data Catalog respeta las políticas de retención para las ramas de Iceberg y las etiquetas que hacen relato a las instantáneas. Ahora puede obtener un catálogo de datos siempre optimizado Servicio de almacenamiento simple de Amazon (Amazon S3) diseño eliminando automáticamente las instantáneas caducadas y los archivos huérfanos. Puede ver el historial de datos, manifiestos, listas de manifiestos y archivos huérfanos eliminados desde la pestaña de optimización de tablas en la Pegamento AWS Consola de catálogo de datos.
En esta publicación, mostramos cómo habilitar la retención administrada y la matanza de archivos huérfanos en una tabla Apache Iceberg para la optimización del almacenamiento.
Descripción genérico de la decisión
Para esta publicación, utilizamos una tabla indicación customer
en el iceberg_blog_db
Saco de datos, donde los datos se agregan continuamente mediante una aplicación de transmisión: cerca de de 10 000 registros (tamaño de archivo inferior a 100 KB) cada 10 minutos, que asimismo incluye la captura de datos de cambios (CDC). Los datos y metadatos de la tabla de clientes se almacenan en el depósito S3. Oportuno a que los datos se actualizan y eliminan como parte de la CDC, se crean nuevas instantáneas para cada cambio en los datos de la tabla.
La compactación administrada está habilitada en esta tabla para optimizar las consultas, lo que genera la creación de nuevas instantáneas cuando la compactación reescribe varios archivos pequeños en unos pocos archivos compactados, dejando los archivos pequeños antiguos en el almacenamiento. Esto genera que los datos y metadatos en Amazon S3 crezcan a un ritmo rápido, lo que puede ganar a resultar prohibitivo en términos de costos.
Las instantáneas son versiones con marca de tiempo de una tabla iceberg. Las configuraciones de retención de instantáneas permiten a los clientes determinar durante cuánto tiempo se conservarán las instantáneas y cuántas se conservarán. Configurar un optimizador de retención de instantáneas puede ayudar a gobernar la sobrecarga de almacenamiento al eliminar instantáneas antiguas e innecesarias y sus archivos subyacentes.
Los archivos huérfanos son archivos a los que ya no se hace relato en los metadatos de la tabla Iceberg. Estos archivos pueden acumularse con el tiempo, especialmente luego de operaciones como eliminaciones de tablas o trabajos ETL fallidos. Al habilitar la matanza de archivos huérfanos, AWS Glue puede identificar y eliminar periódicamente estos archivos innecesarios, lo que libera espacio de almacenamiento.
El subsiguiente diagrama ilustra la cimentación.
En las siguientes secciones, demostramos cómo habilitar la retención administrada y la matanza de archivos huérfanos en la tabla Iceberg administrada por AWS Glue.
Requisito previo
Tener una cuenta de AWS. Si no tienes una cuenta, puedes crearla. uno.
Configurar fortuna con AWS CloudFormation
Esta publicación incluye una plantilla de CloudFormation para una configuración rápida. Puede revisarla y personalizarla para adaptarla a sus evacuación. La plantilla genera los siguientes fortuna:
- Un depósito S3 para acumular el conjunto de datos, scripts de trabajo de Glue, etc.
- Saco de datos del catálogo de datos
- Un trabajo de AWS Glue que crea y modifica datos de muestra de clientes en su depósito S3 con un disparador cada 10 minutos
- Encargo de identidad y entrada de AWS Roles y políticas de (AWS IAM) –
glueroleoutput
Para iniciar la pila CloudFormation, complete los siguientes pasos:
- Inicie sesión en la consola de AWS CloudFormation.
- Nominar Pila de dispersión.
- Nominar Próximo.
- Deje los parámetros como predeterminados o realice los cambios apropiados según sus requisitos, luego elija Próximo.
- Revise los detalles en la página final y seleccione Reconozco que AWS CloudFormation podría crear fortuna IAM.
- Nominar Crear.
Esta pila puede tardar entre 5 y 10 minutos en completarse, luego de lo cual podrá ver la pila implementada en la consola de AWS CloudFormation.
Anote el rol salida de pegamento valencia que se utilizará al habilitar la configuración de optimización.
Desde la consola de Amazon S3, anote el bucket de Amazon S3 y podrá monitorear cómo los datos se actualizarán continuamente cada 10 minutos con el trabajo de AWS Glue.
Habilitar retención de instantáneas
Queremos eliminar los metadatos y los archivos de datos de las instantáneas con más de 1 día de decadencia y la cantidad máxima de instantáneas a conservar es 1. Para habilitar la caducidad de las instantáneas, habilite la retención de instantáneas en la cliente tabla configurando la configuración de retención como se muestra en los siguientes pasos, y AWS Glue ejecutará operaciones en segundo plano para realizar estas operaciones de mantenimiento de tabla, aplicando estas configuraciones una vez al día.
- Inicie sesión en la consola de AWS Glue como administrador.
- Bajo Catálogo de datos En el panel de navegación, seleccione Tablas.
- Busque y seleccione el cliente mesa.
- En el Comportamiento menú, designar Permitir bajo Mejoramiento.
- Especifique su configuración de optimización seleccionando Retención de instantáneas.
- Bajo Configuración de optimizacióndistinguir Personalizar la configuración y proporcionar lo subsiguiente:
-
- Para Rol de IAMelija el rol creado como arbitrio de CloudFormation.
- Colocar Periodo de conservación de instantáneas como 1 día.
- Colocar Mínima cantidad de instantáneas a conservar como 1.
- Nominar Sí para Eliminar archivos caducados.
- Seleccione la casilla de comprobación de gratitud y elija Permitir.
Alternativamente, puede instalar o poner al día la última interpretación Interfaz de dirección de comandos de AWS (AWS CLI) Lectura para ejecutar AWS CLI para habilitar la retención de instantáneas. Para obtener instrucciones, consulte Instalación o modernización de la última interpretación de AWS CLIUtilice el subsiguiente código para habilitar la retención de instantáneas:
Habilitar la matanza de archivos huérfanos
Queremos eliminar los metadatos y los archivos de datos que no tienen referencias de instantáneas anteriores a 1 día y la cantidad de instantáneas que se conservarán es un mayor de 1. Complete los pasos para habilitar la matanza de archivos huérfanos en el cliente tabla, y AWS Glue ejecutará operaciones en segundo plano para realizar estas operaciones de mantenimiento de tabla y aplicar estas configuraciones una vez al día.
- Bajo Configuración de optimizacióndistinguir Personalizar la configuración y proporcionar lo subsiguiente:
- Para Rol de IAMelija el rol creado como arbitrio de CloudFormation.
- Colocar Eliminar archivo huérfano período como 1 día.
- Seleccione la casilla de comprobación de gratitud y elija Permitir.
Como alternativa, puede utilizar la AWS CLI para habilitar la matanza de archivos huérfanos:
Según la configuración del optimizador, comenzará a ver el historial de optimización en el catálogo de datos de AWS Glue
Validar la decisión
Para validar la configuración de retención de instantáneas y matanza de archivos huérfanos, complete los siguientes pasos:
- Inicie sesión en la consola de AWS Glue como administrador.
- Bajo Catálogo de datos En el panel de navegación, seleccione Tablas.
- Indagación y elige el
customer
mesa. - Elige el Optimización de tablas Pestaña para ver el historial de ejecución del trabajo de optimización.
Alternativamente, puede utilizar la AWS CLI para confirmar la retención de instantáneas:
Incluso puede utilizar la AWS CLI para confirmar la matanza de archivos huérfanos:
Supervisar las métricas de CloudWatch para Amazon S3
Las siguientes métricas muestran un aumento pronunciado en el tamaño del depósito a medida que se transmiten los datos de los clientes próximo con CDC, lo que genera un aumento en los metadatos y los objetos de datos a medida que se crean las instantáneas. Cuando la retención de instantáneas («Periodo de retención de instantáneas en días“: 1, “Número de instantáneas para conservar“: 50) y matanza de archivos huérfanos (“Periodo de retención de archivo huérfano en días“: 1) facultado, hay una caída en el tamaño total del depósito para el prefijo del cliente y la cantidad total de objetos a medida que se realiza el mantenimiento, lo que eventualmente conduce a un almacenamiento optimizado.
Erradicar
Para evitar incurrir en cargos futuros, elimine los fortuna que creó en Glue, Data Catalog y el depósito S3 utilizado para el almacenamiento.
Conclusión
Dos de las características esencia de Iceberg son los viajes en el tiempo y las reversiones, que le permiten consultar datos en puntos anteriores en el tiempo y revertir cambios no deseados en sus tablas. Esto se facilita mediante el concepto de instantáneas de Iceberg, que son un conjunto completo de archivos de datos en la tabla en un punto en el tiempo. Con estas nuevas versiones, el Catálogo de datos ahora proporciona optimizaciones de almacenamiento que pueden ayudarlo a acortar la sobrecarga de metadatos, controlar los costos de almacenamiento y mejorar el rendimiento de las consultas.
Para obtener más información sobre el uso del catálogo de datos de AWS Glue, consulte Optimización de tablas Iceberg.
Un agradecimiento peculiar a todos los que contribuyeron al dispersión: Sangeet Lohariwala, Arvin Mohanty, Juan Santillan, Sandya Krishnanand, Mert Hocanin, Zhang Yanting
Acerca de los autores
Sandeep Adwankar es director sénior de productos en AWS. Con sede en el campo de acción de la Bahía de California, trabaja con clientes de todo el mundo para traducir los requisitos comerciales y técnicos en productos que les permitan mejorar la forma en que administran, protegen y acceden a los datos.
Srividya Parthasarathy Es arquitecta senior de big data en el equipo de AWS Lake Formation. Disfruta creando soluciones de malla de datos y compartiéndolas con la comunidad.
Pablo Villena es arquitecto sénior de soluciones analíticas en AWS y tiene experiencia en la creación de soluciones de datos y investigación modernas para gestar valencia comercial. Trabaja con los clientes para ayudarlos a emplear el poder de la cirro. Sus áreas de interés son la infraestructura como código, las tecnologías sin servidor y la codificación en Python.