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á.
Sistema de arquivos do EMR (EMRFS)
O EMR File System (EMRFS) é uma implementação do HDFS que todos os clusters do Amazon EMR usam para leitura e gravação de arquivos regulares do Amazon EMR diretamente no Amazon S3. O EMRFS oferece a conveniência de armazenar dados persistentes no Amazon S3 para serem usados com o Hadoop, fornecendo também atributos como criptografia de dados.
A criptografia de dados permite criptografar objetos que o EMRFS grava no Amazon S3 e permite que o EMRFS trabalhe com objetos criptografados no Amazon S3. Se estiver usando o Amazon EMR 4.8.0 ou versões posteriores, você poderá usar as configurações de segurança para configurar a criptografia para objetos do EMRFS no Amazon S3, junto com outras configurações de criptografia. Para obter mais informações, consulte Encryption options. Ao usar uma versão anterior do Amazon EMR, você pode definir as configurações de criptografia manualmente. Para obter mais informações, consulte Especificar a criptografia do Amazon S3 usando propriedades do EMRFS.
O Amazon S3 oferece uma consistência avançada de leitura após gravação para todas as operações GET, PUT e LIST em todas as Regiões da AWS. Com isso, o que você grava usando o EMRFS é o que você lê no Amazon S3, sem afetar a performance. Para obter mais informações, consulte Modelo de consistência de dados do Amazon S3.
Ao usar o Amazon EMR versão 5.10.0 ou posterior, você pode usar diferentes perfis do IAM para solicitações do EMRFS ao Amazon S3 com base em usuários do cluster, grupos ou no local dos dados do EMRFS no Amazon S3. Para obter mais informações, consulte Configure IAM roles for EMRFS requests to Amazon S3.
Atenção
Antes de ativar a execução especulativa em clusters do Amazon EMR que executam trabalhos do Apache Spark, analise as informações a seguir.
O EMRFS inclui o committer otimizado para EMRFS S3, uma OutputCommitter implementação otimizada para gravar arquivos no Amazon S3 ao usar o EMRFS. Se ativar o atributo de execução especulativa do Apache Spark com aplicações que gravam dados no Amazon S3 e não usam o confirmador otimizado para EMRFS S3, você poderá encontrar problemas de correção de dados descritos em SPARK-10063
A gravação direta do EMRFS geralmente é usada quando não há suporte para o confirmador otimizado para EMRFS S3, como ao gravar:
Um formato de saída diferente de Parquet, como ORC ou texto.
Arquivos Hadoop usando a API Spark RDD.
Parquet usando Hive SerDe. Consulte Hive metastore Parquet table conversion
.
Não se usa a gravação direta do EMRFS nos seguintes cenários:
Quando o committer otimizado para EMRFS S3 não está habilitado. Consulte Requirements for the EMRFS S3-optimized committer.
Ao escrever partições dinâmicas com partitionOverwriteMode definido como dinâmico.
Ao gravar em locais de partição personalizados, como locais fora de conformidade com a convenção de localização de partições padrão do Hive.
Ao usar sistemas de arquivos que não são do EMRFS, como gravar no HDFS ou usar o sistema de arquivos S3A.
Para determinar se sua aplicação usa gravação direta no Amazon EMR 5.14.0 ou versão posterior, habilite o registro em log do Spark INFO. Se houver uma linha de log contendo o texto “Gravação direta: HABILITADA” nos logs do driver do Spark ou nos logs do contêiner do executor do Spark, sua aplicação Spark gravou usando gravação direta.
Por padrão, a execução especulativa é ativada OFF
na Amazon EMRclusters. É altamente recomendável não ativar a execução especulativa se estas duas condições forem verdadeiras:
Você está gravando dados no Amazon S3.
Os dados são gravados em um formato que não seja Apache Parquet ou no formato Apache Parquet sem usar o confirmador otimizado para EMRFS S3.
Se você ativar a execução especulativa do Spark e gravar dados no Amazon S3 usando a gravação direta do EMRFS, poderá ocorrer perda de dados intermitente. Quando você grava dados no HDFS, ou grava dados no Parquet usando o confirmador otimizado para EMRFS S3, o Amazon EMR não usa gravação direta, e esse problema não ocorre.
Se você precisar gravar dados em formatos que usem a gravação direta do EMRFS do Spark para o Amazon S3 e usar a execução especulativa, recomenda-se gravar no HDFS e depois transferir os arquivos de saída para o Amazon S3 usando S3DistCP.