HeadlinesBriefing favicon HeadlinesBriefing.com

Compactación Iceberg: 1000 a 6, impacto

Towards Data Science •
×

Cuando se manejan grandes conjuntos de datos analíticos almacenados en formatos de tabla como Apache Iceberg, existe un problema conocido llamado problema de archivos pequeños. Esto ocurre cuando los datos se escriben en muchos archivos diminutos en lugar de un número menor de archivos de tamaño razonable. Esto aumenta la sobrecarga de metadatos y puede ralentizar la planificación y ejecución de consultas. Para combatir esto, se utiliza un proceso llamado compactación que combina todos los archivos más pequeños en un número reducido de archivos más grandes.

Me centro en Apache Iceberg porque está creciendo rápidamente como uno de los formatos de tabla abiertos líderes para datos analíticos a gran escala. Es importante destacar que, aunque Iceberg admite la compactación, no lo hace automáticamente por nosotros. Iceberg proporciona el procedimiento rewrite_data_files, pero nosotros, como administradores del sistema, aún debemos ejecutar ese procedimiento.

Crearemos una tabla Iceberg que contiene 50 millones de filas distribuidas en 1000 archivos diminutos. Esos archivos permanecerán intactos hasta que emitamos el comando de compactación. Mediremos tres cargas de trabajo SQL antes y después de la reescritura. Todo se ejecuta localmente; no necesitará una cuenta en la nube, Docker, un clúster de Hadoop ni un servicio de pago.