HeadlinesBriefing favicon HeadlinesBriefing.com

Compactação Iceberg: 1000 para 6, impacto

Towards Data Science •
×

Ao lidar com grandes conjuntos de dados analíticos armazenados em formatos de tabela como Apache Iceberg, existe um problema conhecido chamado problema de arquivos pequenos. Isso acontece quando os dados são gravados em muitos arquivos minúsculos em vez de um número menor de arquivos de tamanho razoável. Isso aumenta a sobrecarga de metadados e pode desacelerar o planejamento e a execução de consultas. Para combater isso, é usado um processo chamado compactação, que combina todos os arquivos menores em um pequeno número de arquivos maiores.

Estou focando no Apache Iceberg, pois está crescendo rapidamente como um dos principais formatos de tabela abertos para dados analíticos em grande escala. Importante: embora o Iceberg suporte compactação, ele não o faz automaticamente por nós. O Iceberg fornece o procedimento rewrite_data_files, mas nós, como administradores de sistema, ainda precisamos executar esse procedimento.

Criaremos uma tabela Iceberg contendo 50 milhões de linhas distribuídas em 1000 arquivos minúsculos. Esses arquivos permanecerão intocados até emitirmos o comando de compactação. Mediremos três cargas de trabalho SQL antes e depois da reescrita. Tudo roda localmente; você não precisará de conta na nuvem, Docker, cluster Hadoop ou serviço pago.