Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Upload de dados no Amazon S3 Express One Zone

Modo de foco
Upload de dados no Amazon S3 Express One Zone - 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á.

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á.

Visão geral

Com o Amazon EMR 6.15.0 e versões superiores, você pode usar o Amazon EMR com o Apache Spark e a classe de armazenamento Amazon S3 Express One Zone para melhorar a performance nos trabalhos do Spark. As versões 7.2.0 e superiores do Amazon EMR também oferecem suporte ao HBase Flink e ao Hive, portanto, você também pode se beneficiar do S3 Express One Zone se usar esses aplicativos. O S3 Express One Zone é uma classe de armazenamento do S3 para aplicações que acessam dados frequentemente com centenas de milhares de solicitações por segundo. Na hora da execução, o S3 Express One Zone oferece o armazenamento de objetos na nuvem com a menor latência e a maior performance do Amazon S3.

Pré-requisitos

  • Permissões do S3 Express One Zone: quando o S3 Express One Zone inicialmente executa uma ação como GET, LIST ou PUT em um objeto do S3, a classe de armazenamento chama CreateSession em seu nome. Sua política do IAM deve permitir a s3express:CreateSession permissão para que o S3A o conector pode invocar a CreateSession API. Para obter um exemplo de política com essa permissão, consulte Conceitos básicos da classe Amazon S3 Express One Zone.

  • S3A conector — Para configurar seu cluster Spark para acessar dados de um bucket Amazon S3 que usa a classe de armazenamento S3 Express One Zone, você deve usar o conector Apache Hadoop S3A. Para usar o conector, certifique-se de que todos os S3 URIs usem o s3a esquema. Caso contrário, você pode alterar a implementação do sistema de arquivos usado para os esquemas do s3 e do s3n.

Para alterar o esquema do s3, especifique as seguintes configurações de cluster:

[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

Para alterar o esquema do s3n, especifique as seguintes configurações de cluster:

[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

Conceitos básicos da classe Amazon S3 Express One Zone

Criação de uma política de permissões

Antes de criar um cluster que usa o Amazon S3 Express One Zone, você deve criar uma política do IAM para anexar ao perfil de EC2 instância da Amazon para o cluster. A política deve ter permissões para acessar a classe de armazenamento S3 Express One Zone. O exemplo de política a seguir mostra como conceder a permissão necessária. Após criar a política, anexe-a à função do perfil de instância usada para criar seu cluster do EMR, conforme descrito na seção Criação e configuração de um cluster.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:region-code:account-id:bucket/amzn-s3-demo-bucket", "Action": [ "s3express:CreateSession" ] } ] }

Criação e configuração de um cluster

Em seguida, crie um cluster que execute o Spark HBase, o Flink ou o Hive com o S3 Express One Zone. As seguinte etapas descrevem uma visão geral de alto nível para criar um cluster no AWS Management Console:

  1. Navegue até o console do Amazon EMR e selecione Clusters na barra lateral. Depois, selecione Criar cluster.

  2. Se você usa o Spark, selecione a versão emr-6.15.0 ou superior do Amazon EMR. Se você usa HBase Flink ou Hive, selecione emr-7.2.0 ou superior.

  3. Selecione os aplicativos que você deseja incluir em seu cluster, como Spark ou Flink. HBase

  4. Para habilitar o Amazon S3 Express One Zone, insira uma configuração semelhante ao exemplo a seguir na seção Configurações de software. As configurações e os valores recomendados estão descritos na seção Visão geral das configurações após esse procedimento.

    [ { "Classification": "core-site", "Properties": { "fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider", "fs.s3a.change.detection.mode": "none", "fs.s3a.endpoint.region": "aa-example-1", "fs.s3a.select.enabled": "false" } }, { "Classification": "spark-defaults", "Properties": { "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ]
  5. Na seção Perfil de EC2 instância do Amazon EMR, escolha usar uma função existente e use uma função com a política anexada que você criou na Criação de uma política de permissões seção acima.

  6. Defina o restante das configurações do cluster conforme apropriado para a sua aplicação e selecione Criar cluster.

Visão geral das configurações

As tabelas a seguir descrevem as configurações e os valores sugeridos que você deve especificar ao configurar um cluster que usa o S3 Express One Zone com o Amazon EMR, conforme descrito na seção Criação e configuração de um cluster.

S3A configurações

Parameter Valor padrão Valor sugerido Explicação

fs.s3a.aws.credentials.provider

Se não for especificado, usa AWSCredentialProviderList na seguinte ordem: TemporaryAWSCredentialsProvider, SimpleAWSCredentialsProvider, EnvironmentVariableCredentialsProvider, IAMInstanceCredentialsProvider.

software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider

A função do perfil da instância do Amazon EMR deve ter a política que permita a S3A sistema de arquivos a ser chamado. s3express:CreateSession Outros provedores de credenciais também funcionam se tiverem as permissões do S3 Express One Zone.

fs.s3a.endpoint.region

nulo

O Região da AWS local em que você criou o bucket.

A lógica de resolução da região não funciona com a classe de armazenamento S3 Express One Zone.

fs.s3a.select.enabled

true

false

O valor select do Amazon S3 não é compatível com a classe de armazenamento S3 Express One Zone.

fs.s3a.change.detection.mode

server

nenhuma

Detecção de alterações por S3A funciona verificando MD5baseadoetags. A classe de armazenamento S3 Express One Zone não é compatível MD5 checksums.

Spark configurações

Parameter Valor padrão Valor sugerido Explicação

spark.sql.sources.fastS3PartitionDiscovery.enabled

true

false

A otimização interna usa um parâmetro de API do S3 que não é compatível com a classe de armazenamento S3 Express One Zone.

Hive configurações

Parameter Valor padrão Valor sugerido Explicação

hive.exec.fast.s3.partition.discovery.enabled

true

false

A otimização interna usa um parâmetro de API do S3 que não é compatível com a classe de armazenamento S3 Express One Zone.

Considerações

Considere os seguintes pontos ao integrar o Apache Spark no Amazon EMR à classe de armazenamento S3 Express One Zone:

  • O conector S3A é necessário para usar o S3 Express One Zone com o Amazon EMR. Somente o S3A tem os recursos e as classes de armazenamento necessários para interagir com o S3 Express One Zone. Para ver as etapas de configuração do conector, consulte Pré-requisitos.

  • A classe de armazenamento Amazon S3 Express One Zone só é compatível com o Spark em um cluster do Amazon EMR executado na Amazon. EC2

  • A classe de armazenamento Amazon S3 Express One Zone suporta somente SSE-S3 criptografia. Para obter mais informações, consulte Criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3).

  • A classe de armazenamento Amazon S3 Express One Zone não oferece suporte a gravações com o FileOutputCommitter do S3A. As gravações com o S3A FileOutputCommitter em buckets do S3 Express One Zone resultam em um erro: InvalidStorageClass: The storage class you specified is not valid.

  • O Amazon S3 Express One Zone é compatível com o Amazon EMR versões 6.15.0 e superiores no EMR on. EC2 Além disso, é compatível com as versões 7.2.0 e superiores do Amazon EMR no EKS e no Amazon EMR Sem Servidor.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.