Supervisión de las cargas de trabajo de Apache Iceberg - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervisión de las cargas de trabajo de Apache Iceberg

Para supervisar las cargas de trabajo de Iceberg, tiene dos opciones: analizar las tablas de metadatos o utilizar indicadores de métricas. Los indicadores de métricas se introdujeron en la versión 1.2 de Iceberg y solo están disponibles para los catálogos REST y JDBC.

Si las utiliza AWS Glue Data Catalog, puede obtener información sobre el estado de sus tablas de Iceberg configurando la supervisión sobre las tablas de metadatos que expone Iceberg.

La supervisión es crucial para la gestión del rendimiento y la solución de problemas. Por ejemplo, cuando una partición de una tabla Iceberg alcanza un porcentaje determinado de archivos pequeños, la carga de trabajo puede iniciar un trabajo de compactación para consolidar los archivos en archivos más grandes. Esto evita que las consultas se ralenticen más allá de un nivel aceptable.

Supervisión a nivel de tabla

La siguiente pantalla muestra un panel de monitoreo de tablas que se creó en. QuickSight Este panel consulta las tablas de metadatos de Iceberg mediante Spark SQL y captura métricas detalladas, como la cantidad de archivos activos y el almacenamiento total. Luego, esta información se almacena en AWS Glue tablas con fines operativos. Por último, se crea un QuickSight panel, como se muestra en la siguiente ilustración, mediante Amazon Athena. Esta información le ayuda a identificar y abordar problemas específicos en sus sistemas.

QuickSight panel de control para monitorear las tablas Iceberg

El QuickSight panel de control de ejemplo recopila los siguientes indicadores clave de rendimiento (KPIs) para una tabla de iceberg:

KPI

Descripción

Query

Número de archivos

El número de archivos de la tabla Iceberg (para todas las instantáneas)

select count(*) from <catalog.database.table_name>.all_files

Número de archivos activos

El número de archivos activos en la última instantánea de la tabla Iceberg

select count(*) from <catalog.database.table_name>.files

Tamaño medio de los archivos

El tamaño medio de los archivos, en megabytes, de todos los archivos de la tabla Iceberg

select avg(file_size_in_bytes)/1000000 from <catalog.database.table_name>.all_files

Tamaño medio de los archivos activos

El tamaño medio de los archivos activos de la tabla Iceberg, en megabytes

select avg(file_size_in_bytes)/1000000 from <catalog.database.table_name>.files

Porcentaje de archivos pequeños

El porcentaje de archivos activos que ocupan menos de 100 MB

select cast(sum(case when file_size_in_bytes < 100000000 then 1 else 0 end)*100/count(*) as decimal(10,2)) from <catalog.database.table_name>.files

Tamaño total de almacenamiento

El tamaño total de todos los archivos de la tabla, excluidos los archivos huérfanos y las versiones de objetos de Amazon S3 (si están habilitadas)

select sum(file_size_in_bytes)/1000000 from <catalog.database.table_name>.all_files

Tamaño total del almacenamiento activo

El tamaño total de todos los archivos de las instantáneas actuales de una tabla determinada

select sum(file_size_in_bytes)/1000000 from <catalog.database.table_name>.files

Supervisión a nivel de base de datos

El siguiente ejemplo muestra un panel de supervisión que se creó QuickSight para proporcionar una visión general del nivel de base de datos KPIs para un conjunto de tablas Iceberg.

QuickSight panel para la supervisión a nivel de base de datos de Iceberg

Este panel recopila lo siguiente: KPIs

KPI

Descripción

Query

Número de archivos

El número de archivos de la base de datos Iceberg (para todas las instantáneas)

Este panel utiliza las consultas a nivel de tabla proporcionadas en la sección anterior y consolida los resultados.

Número de archivos activos

El número de archivos activos en la base de datos de Iceberg (según las últimas instantáneas de las tablas de Iceberg)

Tamaño medio de los archivos

El tamaño medio de los archivos, en megabytes, de todos los archivos de la base de datos Iceberg

Tamaño medio de los archivos activos

El tamaño medio de los archivos, en megabytes, de todos los archivos activos de la base de datos Iceberg

Porcentaje de archivos pequeños

El porcentaje de archivos activos que ocupan menos de 100 MB en la base de datos Iceberg

Tamaño total de almacenamiento

El tamaño total de todos los archivos de la base de datos, excepto los archivos huérfanos y las versiones de objetos de Amazon S3 (si están habilitadas)

Tamaño total del almacenamiento activo

El tamaño total de todos los archivos de las instantáneas actuales de todas las tablas de la base de datos

Mantenimiento preventivo

Al configurar las capacidades de monitoreo descritas en las secciones anteriores, puede abordar el mantenimiento de la mesa desde un ángulo preventivo en lugar de reactivo. Por ejemplo, puede usar las métricas a nivel de tabla y base de datos para programar acciones como las siguientes:

  • Utilice la compactación por compartimentos para agrupar archivos pequeños cuando una tabla llegue a N archivos pequeños.

  • Utilice la compactación por empaquetado de contenedores para fusionar y eliminar archivos cuando una tabla llegue a N archivos eliminados en una partición determinada.

  • Elimine los archivos pequeños que ya estaban compactados eliminando las instantáneas cuando el almacenamiento total sea X veces mayor que el almacenamiento activo.