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á.
Carregar dados no Amazon S3
Para obter instruções sobre como carregar objetos no Amazon S3, consulte Add an object to your bucket no Guia do usuário do Amazon Simple Storage Service. Para obter mais informações sobre como usar o Amazon S3 com o Hadoop, consulte http://wiki.apache.org/hadoop/AmazonS3
Tópicos
Criar e configurar um bucket do Amazon S3
A Amazon EMR usa o AWS SDK for Java com o Amazon S3 para armazenar dados de entrada, arquivos de log e dados de saída. O Amazon S3 se refere a esses locais de armazenamento como bucket. Os buckets têm certas restrições e limitações para se adequarem ao Amazon DNS S3 e aos requisitos. Para obter mais informações, consulte Restrições e limitações de bucket no Manual do usuário do Amazon Simple Storage Service.
Esta seção mostra como usar o Amazon S3 AWS Management Console para criar e depois definir permissões para um bucket do Amazon S3. Você também pode criar e definir permissões para um bucket do Amazon S3 usando o Amazon API S3 ou. AWS CLI Você também pode usar curl junto com uma modificação para transmitir os parâmetros de autenticação apropriados para o Amazon S3.
Consulte os recursos a seguir:
-
Para criar um bucket usando o console, consulte Criação de um bucket, no Guia do usuário do Amazon S3.
-
Para criar e trabalhar com buckets usando o AWS CLI, consulte Como usar comandos de alto nível do S3 com o AWS Command Line Interface no Guia do usuário do Amazon S3.
-
Para criar um bucket usando umSDK, consulte Exemplos de criação de um bucket no Guia do usuário do Amazon Simple Storage Service.
-
Para trabalhar com buckets usando Curl, consulte Amazon S3 authentication tool for curl
. -
Para obter mais informações sobre buckets específicos para regiões, consulte Acesso a um bucket no Guia do usuário do Amazon Simple Storage Service.
-
Para trabalhar com buckets usando Pontos de Acesso Amazon S3, consulte Usar um alias em estilo de bucket para seu ponto de acesso de bucket do S3 no Guia do usuário do Amazon S3. Você facilmente pode usar os Pontos de Acesso Amazon S3 com o alias do Ponto de Acesso Amazon S3 em vez do nome do bucket do Amazon S3. Use o Ponto de Acesso Amazon S3 para aplicações novas e já existentes, inclusive Spark, Hive, Presto e outros.
nota
Se você ativar o registro em um bucket, ele habilitará somente os logs de acesso ao bucket, não os logs EMR do cluster da Amazon.
Durante a criação do bucket ou depois, você pode definir as permissões apropriadas para acessar o bucket, dependendo de seu aplicativo. Normalmente, você atribui acesso de leitura e gravação para si mesmo (o proprietário) e atribui acesso de leitura para os usuários autenticados.
Os buckets do Amazon S3 obrigatórios devem existir para que você possa criar um cluster. Você deve carregar todos os scripts necessários ou dados referenciados no cluster no Amazon S3. A tabela a seguir descreve dados de exemplo, scripts e locais de arquivo de log.
Configurar o carregamento multiparte para o Amazon S3
A Amazon EMR suporta o upload de várias partes do Amazon S3 por meio do AWS SDK para Java. O multipart upload permite que você faça upload de um único objeto como um conjunto de partes. O upload dessas partes de objetos pode ser feito de maneira independente e em qualquer ordem. Se a transmissão de alguma parte falhar, você poderá retransmitir essa parte sem afetar outras partes. Depois que todas as partes do objeto forem carregadas, o Amazon S3 montará as partes e criará o objeto.
Para obter mais informações, consulte Visão geral do carregamento fracionado no Manual do usuário do Amazon Simple Storage Service.
Além disso, a Amazon EMR oferece propriedades que permitem que você controle com mais precisão a limpeza de peças com falha no upload de várias partes.
A tabela a seguir descreve as propriedades de EMR configuração da Amazon para upload de várias partes. Você pode configurar esses valores usando a classificação de configuração core-site
. Para obter mais informações, consulte Configurar aplicativos no Amazon EMR Release Guide.
Nome do parâmetro de configuração | Valor padrão | Descrição |
---|---|---|
fs.s3n.multipart.uploads.enabled |
true |
Um tipo booleano que indica se os carregamentos multiparte devem ou não ser habilitados. Quando a visualização EMRFS consistente está ativada, os uploads de várias partes são ativados por padrão e a configuração desse valor como false é ignorada. |
fs.s3n.multipart.uploads.split.size |
134217728 |
Especifica o tamanho máximo de uma peça, em bytes, antes de EMRFS iniciar um novo carregamento de peça quando o carregamento de várias partes está ativado. O valor mínimo é Se a criptografia EMRFS do lado do cliente estiver desativada e o Amazon S3 Optimized Committer também estiver desativado, esse valor também controlará o tamanho máximo que um arquivo de dados pode aumentar EMRFS até usar uploads de várias partes em vez |
fs.s3n.ssl.enabled |
true |
Um tipo booleano que indica se o http ou o https deve ser usado. |
fs.s3.buckets.create.enabled |
false |
Um tipo booleano que indica se um bucket deve ser criado caso ele não exista. Configurar como false gera uma exceção em operações CreateBucket . |
fs.s3.multipart.clean.enabled |
false |
Um tipo booliano que indica se deseja habilitar a limpeza periódica em segundo plano de carregamentos multiparte incompletos. |
fs.s3.multipart.clean.age.threshold |
604800 |
Um tipo longo que especifica a idade mínima de um multipart upload, em segundos, antes de ser considerado para limpeza. O padrão é uma semana. |
fs.s3.multipart.clean.jitter.max |
10000 |
Um tipo inteiro que especifica o valor máximo de atraso de oscilação aleatória em segundos adicionado ao atraso fixo de 15 minutos antes de programar a próxima execução de limpeza. |
Desabilitar carregamentos multiparte
Práticas recomendadas
A seguir estão recomendações para o uso de buckets do Amazon S3 com clusters. EMR
Habilitar o versionamento
O versionamento é uma configuração recomendada para o seu bucket do Amazon S3. Habilitando o versionamento, você garante que, mesmo que os dados sejam excluídos ou substituídos sem querer, eles possam ser recuperados. Para obter mais informações, consulte Usando versionamento no Guia do usuário do Amazon Simple Storage Service.
Limpar carregamentos multiparte com falha
EMRos componentes do cluster usam uploads de várias partes por meio do AWS SDK for Java with Amazon APIs S3 para gravar arquivos de log e enviar dados para o Amazon S3 por padrão. Para obter informações sobre a alteração de propriedades relacionadas a essa configuração usando a AmazonEMR, consulteConfigurar o carregamento multiparte para o Amazon S3. Às vezes, carregar um arquivo grande pode resultar em um carregamento multiparte do Amazon S3 incompleto. Quando não é possível concluir com êxito um multipart upload em andamento, este continua a ocupar seu bucket e resulta em cobranças de armazenamento. Recomendamos as seguintes opções para evitar excesso de armazenamento de arquivos:
-
Para buckets que você usa com a AmazonEMR, use uma regra de configuração de ciclo de vida no Amazon S3 para remover uploads incompletos de várias partes três dias após a data de início do upload. As regras de configuração de ciclo de vida permitem que você controle a classe de armazenamento e o tempo de vida dos objetos. Para obter mais informações, consulte Object lifecycle management e Aborting incomplete multipart uploads using a bucket lifecycle policy.
-
Ative o recurso EMR de limpeza em várias partes da Amazon
fs.s3.multipart.clean.enabled
configurandotrue
e ajustando outros parâmetros de limpeza. Esse recurso é útil em alto volume, grande escala e com clusters que tenham tempo limitado. Nesse caso, o parâmetroDaysAfterIntitiation
de uma regra de configuração do ciclo de vida pode ser muito longo, mesmo se definido como o mínimo, causando picos no armazenamento do Amazon S3. A limpeza em várias partes EMR da Amazon permite um controle mais preciso. Para obter mais informações, consulte Configurar o carregamento multiparte para o Amazon S3.
Gerenciar marcadores de versão
Recomendamos que você habilite uma regra de configuração de ciclo de vida no Amazon S3 para remover marcadores de exclusão de objetos expirados para buckets versionados que você usa com a Amazon. EMR Ao excluir um objeto em um bucket com versionamento, um marcador de exclusão é criado. Se todas as versões anteriores do objeto expirarem posteriormente, um marcador de exclusão de objeto expirado será deixado no bucket. Embora você não seja cobrado pelos marcadores de exclusão, a remoção dos marcadores expirados pode melhorar o desempenho das solicitações. LIST Para obter mais informações, consulte Lifecycle configuration for a bucket with versioning no Guia do usuário do Amazon Simple Storage Service.
Práticas recomendadas de desempenho
Dependendo de suas cargas de trabalho, tipos específicos de uso de EMR clusters e aplicativos nesses clusters podem resultar em um grande número de solicitações em um bucket. Para obter mais informações, consulte Request rate and performance considerations no Guia do usuário do Amazon Simple Storage Service.