Considerações e limitações para trabalhos de manutenção - Amazon Simple Storage Service

Considerações e limitações para trabalhos de manutenção

O Amazon S3 oferece operações de manutenção para aprimorar a performance das tabelas e dos buckets de tabela do S3. Essas opções são compactação de arquivos, gerenciamento de snapshots e remoção de arquivos não referenciados. Veja a seguir as limitações e considerações para essas opções de gerenciamento.

Considerações para compactação

As considerações a seguir se aplicam à compactação. Para ter mais informações sobre compactação, consulte Manutenção de tabelas.

  • A compactação só é compatível com os tipos de arquivo Apache Parquet, Avro e ORC.

  • Ela grava novos arquivos no formato Apache Parquet por padrão. Se, em vez disso, quiser compactar arquivos nos formatos Avro ou ORC, defina a propriedade de tabela write.format.default como avro ou orc.

  • Não é possível usar o seguinte tipo de dados na compactação: Fixed.

  • A compactação não oferece suporte aos seguintes tipos de compressão: brotli e lz4.

  • A compactação ocorre de acordo com um cronograma automatizado. Se quiser evitar cobranças associadas à compactação, você pode desabilitá-la manualmente para uma tabela usando a operação de API PutTableMaintenanceConfiguration.

nota

O Apache Iceberg usa um modelo de simultaneidade otimista, bem como a detecção de conflitos, para arbitrar transações de gravação. Com a simultaneidade otimista, as transações de usuário e compactação podem entrar em conflito, fazendo com que as transações falhem. Se ocorrerem conflitos e houver falha, os trabalhos de compactação serão executados novamente. É recomendável que seus pipelines também usem a lógica de nova tentativa para superar transações que falham devido a operações conflitantes.

Considerações para gerenciamento de snapshots

As considerações a seguir se aplicam ao gerenciamento de snapshots. Para ter mais informações sobre o gerenciamento de snapshots, consulte Manutenção de tabelas.

  • Os snapshots serão preservados somente quando ambos os critérios forem satisfeitos: o número mínimo de snapshots a serem mantidos e o período de retenção especificado.

  • O gerenciamento de snapshots exclui metadados de snapshots expirados do Apache Iceberg, evitando consultas de viagem no tempo para snapshots expirados e, opcionalmente, excluindo arquivos de dados associados.

  • O gerenciamento de snapshots não oferece suporte a valores de retenção que você configura como propriedades de tabela do Iceberg no arquivo metadata.json ou por meio de um comando SQL ALTER TABLE SET TBLPROPERTIES, incluindo retenção baseada em ramificação ou tag. O gerenciamento de snapshots é desabilitado quando você configura uma política de retenção baseada em ramificação ou tag, ou configura uma política de retenção no arquivo metadata.json que seja maior do que os valores configurados por meio da API PutTableMaintenanceConfiguration. Nesses casos, o S3 não expirará nem removerá snapshots e você precisará excluir manualmente os snapshots ou remover as propriedades de tabela do Iceberg para evitar cobranças de armazenamento.

Considerações para remoção de arquivos não referenciados

As considerações a seguir se aplicam à remoção de arquivos não referenciados. Para ter mais informações sobre a remoção de arquivos não referenciados, consulte Manutenção para buckets de tabela.

  • A remoção de arquivos não referenciados exclui arquivos de dados e metadados que não são mais referenciados pelos metadados do Iceberg quando o horário de criação é anterior ao período de retenção.

Limites para operações de manutenção de tabelas e buckets de tabela do S3 e APIs relacionadas

Operação de manutenção Propriedade Configurável ao nível do bucket de tabela? Configurável ao nível da tabela? Valor padrão Valor mínimo Rotina de manutenção relacionada do Iceberg Controlar a API da funcionalidade Tabelas do S3
Compactação targetFileSizeMB Não Sim 512 MB 64 MB rewriteDataFiles PutTableMaintenanceConfiguration
Gerenciamento de snapshots minimumSnapshots Não Sim 1 1 ExpireSnapshots retainLast PutTableMaintenanceConfiguration
Gerenciamento de snapshots maximumSnapshotAge Não Sim 120 horas 1 hora ExpireSnapshots expireOlderThan PutTableMaintenanceConfiguration
Remoção de arquivos sem referência unreferencedDays Sim Não 3 dias 1 dia deleteOrphanFiles PutTableBucketMaintenanceConfiguration
Remoção de arquivos não referenciados nonCurrentDays Sim Não 10 dias 1 dia N/D PutTableBucketMaintenanceConfiguration
nota

O serviço Tabelas do S3 aplica o tamanho padrão do grupo de linhas de parquets de 128 MB.