

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

# Transferência de dados para a classe S3 Express One Zone com o EMR Sem Servidor
<a name="upload-data"></a>

Com as versões 7.2.0 e superiores do Amazon EMR, use o EMR Sem Servidor com a classe de armazenamento [Amazon S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html) para melhorar a performance ao executar trabalhos e workloads. O S3 Express One Zone é uma classe de armazenamento de zona única e alta performance do Amazon S3 que oferece acesso consistente a dados de milissegundos de um dígito para a maioria das aplicações sensíveis à latência. 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
<a name="upload-data-prereqs"></a>
+ 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 conceder a permissão `s3express:CreateSession` para que o conector S3A possa invocar a API `CreateSession`. Para obter um exemplo de política com essa permissão, consulte [Conceitos básicos da classe S3 Express One Zone](#upload-data-get-started).
+ Conector S3A: para configurar o Spark para acessar dados de um bucket do Amazon S3 que usa a classe de armazenamento S3 Express One Zone, use o conector S3A do Apache Hadoop. Para usar o conector, certifique-se de que todos os S3 URIs usem o `s3a` esquema. Caso contrário, altere 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 S3 Express One Zone
<a name="upload-data-get-started"></a>

Siga estas etapas para começar a usar o S3 Express One Zone.

1. [Crie um endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws). Adicione o endpoint ` com.amazonaws.us-west-2.s3express` ao endpoint da VPC.

1. Siga [Getting started with Amazon EMR Sem Servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html) para criar uma aplicação com o rótulo de lançamento 7.2.0 ou superior do Amazon EMR.

1. [Configure a aplicação](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/vpc-access.html) para usar o endpoint da VPC recém-criado, um grupo de sub-rede privada e um grupo de segurança.

1. Adicione a permissão `CreateSession` ao perfil de execução do trabalho.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Resource": [
           "*"
         ],
         "Action": [
           "s3express:CreateSession"
         ],
         "Sid": "AllowS3EXPRESSCreatesession"
       }
     ]
   }
   ```

------

1. Execute o trabalho. Observe que você deve usar o esquema `S3A` para acessar os buckets do S3 Express One Zone.

   ```
   aws emr-serverless start-job-run \      
   --application-id <application-id> \          
   --execution-role-arn <job-role-arn> \
   --name <job-run-name> \
   --job-driver '{
    "sparkSubmit": {                                                                                                                                                                                      
    "entryPoint": "s3a://<DOC-EXAMPLE-BUCKET>/scripts/wordcount.py", 
    "entryPointArguments":["s3a://<DOC-EXAMPLE-BUCKET>/emr-serverless-spark/output"],
    "sparkSubmitParameters": "--conf spark.executor.cores=4 
    --conf spark.executor.memory=8g --conf spark.driver.cores=4 
    --conf spark.driver.memory=8g --conf spark.executor.instances=2 
    --conf spark.hadoop.fs.s3a.change.detection.mode=none 
    --conf spark.hadoop.fs.s3a.endpoint.region={<AWS_REGION>}
    --conf spark.hadoop.fs.s3a.select.enabled=false 
    --conf spark.sql.sources.fastS3PartitionDiscovery.enabled=false 
    }'
   ```