O protocolo de confirmação EMRFS otimizado para S3 e uploads em várias partes - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O protocolo de confirmação EMRFS otimizado para S3 e uploads em várias partes

Para usar a otimização para substituição dinâmica de partições no protocolo de confirmação EMRFS otimizado para S3, os uploads de várias partes devem estar habilitados na Amazon. EMR Multipart uploads são habilitados por padrão. Você pode habilitá-los novamente, se necessário. Para obter mais informações, consulte Configurar o upload de várias partes para o Amazon S3 no EMRAmazon Management Guide.

Durante a substituição dinâmica da partição, o protocolo de confirmação EMRFS otimizado para S3 usa as características de transação dos carregamentos de várias partes para garantir que os arquivos gravados por tentativas de tarefa apareçam apenas no local de saída do trabalho após a confirmação do trabalho. Ao usar carregamentos multipart dessa maneira, o protocolo de confirmação melhora a performance de confirmação de trabalhos em relação ao padrão SQLHadoopMapReduceCommitProtocol. Ao usar o protocolo de confirmação EMRFS otimizado para S3, há algumas diferenças importantes em relação ao comportamento tradicional de upload em várias partes a serem consideradas:

  • Os multipart uploads são sempre executados, independentemente do tamanho do arquivo. Isso difere do comportamento padrão deEMRFS, em que a fs.s3n.multipart.uploads.split.size propriedade controla o tamanho do arquivo no qual os uploads de várias partes são acionados.

  • Os multipart uploads são deixados incompletos por um período mais longo até que a tarefa seja confirmada ou cancelada. Isso difere do comportamento padrão de EMRFS quando um upload de várias partes é concluído quando uma tarefa termina de gravar um determinado arquivo.

Devido a essas diferenças, se um executor do Spark JVM falhar ou for encerrado enquanto as tarefas estão sendo executadas e gravando dados no Amazon S3, ou se um driver do Spark JVM falhar ou for encerrado durante a execução de um trabalho, é mais provável que os uploads incompletos de várias partes sejam deixados para trás. Por esse motivo, ao usar o protocolo de confirmação EMRFS otimizado para S3, certifique-se de seguir as melhores práticas para gerenciar uploads de várias partes com falha. Para obter mais informações, consulte Melhores práticas para trabalhar com buckets do Amazon S3 no Guia de gerenciamento da Amazon EMR.