

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Transférez des données dans S3 Express One Zone avec EMR Serverless
<a name="upload-data"></a>

Avec les versions 7.2.0 et supérieures d'Amazon EMR, utilisez EMR Serverless avec la classe de stockage [Amazon S3 Express One](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html) Zone pour améliorer les performances lorsque vous exécutez des tâches et des charges de travail. S3 Express One Zone est une classe de stockage Amazon S3 à zone unique à hautes performances qui fournit un accès aux données constant à un chiffre en millisecondes pour la plupart des applications sensibles à la latence. À son lancement, S3 Express One Zone offre la latence la plus faible et les meilleures performances de stockage d’objets cloud dans Amazon S3.

## Conditions préalables
<a name="upload-data-prereqs"></a>
+ Autorisations de zone S3 Express One : lorsque S3 Express One Zone effectue initialement une action similaire `GET` ou `PUT` sur un objet S3, la classe de stockage appelle `CreateSession` en votre nom. `LIST` Votre politique IAM doit accorder l’autorisation `s3express:CreateSession` pour que le connecteur S3A puisse invoquer l’API `CreateSession`. Pour un exemple de politique assortie de cette autorisation, reportez-vous à[Bien démarrer avec S3 Express One Zone](#upload-data-get-started).
+ S3Aconnecteur — Pour configurer Spark afin d'accéder aux données d'un compartiment Amazon S3 utilisant la classe de stockage S3 Express One Zone, utilisez le connecteur Apache Hadoop. S3A Pour utiliser le connecteur, assurez-vous que tous les S3 URIs utilisent le `s3a` schéma. Si ce n'est pas le cas, modifiez l'implémentation `s3` et les `s3n` schémas du système de fichiers que vous utilisez.

Pour modifier le schéma `s3`, spécifiez les configurations de cluster suivantes : 

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

Pour modifier le schéma `s3n`, spécifiez les configurations de cluster suivantes : 

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

## Bien démarrer avec S3 Express One Zone
<a name="upload-data-get-started"></a>

Suivez ces étapes pour commencer à utiliser S3 Express One Zone.

1. [Créez un point de terminaison VPC.](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) Ajoutez le point de terminaison ` com.amazonaws.us-west-2.s3express` au point de terminaison du VPC.

1. Suivez [Getting started with Amazon EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html) pour créer une application avec le label de version 7.2.0 ou supérieur d'Amazon EMR.

1. [Configurez votre application](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/vpc-access.html) pour utiliser le point de terminaison VPC nouvellement créé, un groupe de sous-réseaux privés et un groupe de sécurité.

1. Ajoutez l'`CreateSession`autorisation à votre rôle d'exécution des tâches.

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

****  

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

------

1. Exécutez votre travail. Notez que vous devez utiliser le `S3A` schéma pour accéder aux compartiments 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 
    }'
   ```