HeadlinesBriefing favicon HeadlinesBriefing.com

Compaction Iceberg : 1000 à 6, impact

Towards Data Science •
×

Lorsque vous traitez de grands ensembles de données analytiques stockés dans des formats de table tels que Apache Iceberg, il existe un problème connu appelé le problème des petits fichiers. Cela se produit lorsque les données sont écrites dans de nombreux petits fichiers plutôt que dans un nombre réduit de fichiers de taille raisonnable. Cela augmente la surcharge des métadonnées et peut ralentir la planification et l'exécution des requêtes. Pour y remédier, un processus appelé compaction est utilisé, qui combine tous les fichiers plus petits en un petit nombre de fichiers plus grands.

Je me concentre sur Apache Iceberg car il devient rapidement l'un des principaux formats de table ouverts pour les données analytiques à grande échelle. Il est important de noter que bien qu'Iceberg prenne en charge la compaction, il ne le fait pas automatiquement pour nous. Iceberg fournit la procédure rewrite_data_files mais nous, en tant qu'administrateurs système, devons toujours exécuter cette procédure.

Nous allons créer une table Iceberg contenant 50 millions de lignes réparties sur 1000 petits fichiers. Ces fichiers resteront intacts jusqu'à ce que nous exécutions la commande de compaction. Nous mesurerons trois charges de travail SQL avant et après la réécriture. Tout s'exécute localement ; vous n'aurez pas besoin de compte cloud, de Docker, de cluster Hadoop ou de service payant.