

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.

# Amazon S3 sur Outposts avec Amazon EMR local sur Outposts
<a name="s3-outposts-emr"></a>

Amazon EMR est une plate-forme de cluster gérée qui simplifie l'exécution de structures de mégadonnées, telles que le traitement Apache Hadoop et Apache Spark AWS l'analyse de grandes quantités de données. Grâce à ces infrastructures et des projets open source connexes, vous pouvez traiter des données à des fins d’analytique et pour des charges de travail d’informatique décisionnelle. Amazon EMR vous aide également à transformer et à déplacer de grandes quantités de données vers et depuis d'autres banques de données et bases de AWS données, et prend en charge Amazon S3 on Outposts. Pour plus d’informations sur Amazon EMR, consultez [Amazon EMR sur Outposts](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-outposts.html) dans le *Guide de gestion Amazon EMR*. 

Pour Amazon S3 sur Outposts, Amazon EMR a commencé à prendre en charge le connecteur Apache Hadoop S3A dans sa version 7.0.0. Les versions antérieures d’Amazon EMR ne prennent pas en charge le service S3 local sur Outposts, et le système de fichiers EMR (EMRFS) n’est pas pris en charge.

**Applications prises en charge**  
Amazon EMR avec Amazon S3 sur Outposts prend en charge les applications suivantes : 
+ Hadoop
+ Spark
+ Hue
+ Hive
+ Sqoop
+ Pig
+ Hudi
+ Flink

Pour plus d’informations, consultez le [Guide de version Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).

## Création et configuration d’un compartiment Amazon S3 sur Outposts
<a name="create-outposts-bucket"></a>

Amazon EMR utilise Amazon S3 on Outposts pour stocker les données d'entrée et de sortie. AWS SDK pour Java Vos fichiers journaux Amazon EMR sont stockés dans un emplacement Amazon S3 régional que vous sélectionnez et ne sont pas stockés localement sur l’Outpost. Pour plus d’informations, consultez [Journaux Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html) dans le *Guide de gestion Amazon EMR*. 

Pour se conformer aux exigences Amazon S3 et DNS, les compartiments S3 sur Outposts sont soumis à des restrictions et des limitations. Pour de plus amples informations, veuillez consulter [Création d’un compartiment S3 sur Outposts](S3OutpostsCreateBucket.md).

À partir d’Amazon EMR version 7.0.0, vous pouvez utiliser Amazon EMR avec S3 sur Outposts et le système de fichiers S3A.

**Prérequis**  
**Autorisations S3 on Outposts** — Lorsque vous créez votre profil d'instance Amazon EMR, votre rôle doit contenir l'espace de noms Gestion des identités et des accès AWS (IAM) de S3 on Outposts. S3 sur Outposts possède son propre espace de noms, `s3-outposts*`. Pour obtenir un exemple de politique utilisant cet espace de noms, consultez [Configuration d’IAM avec S3 sur Outposts](S3OutpostsIAM.md).

**Connecteur S3A** : pour configurer votre cluster EMR pour accéder aux données d’un compartiment Amazon S3 sur Outposts, vous devez utiliser le connecteur Apache Hadoop S3A. Pour utiliser le connecteur, assurez-vous que tous vos S3 URIs utilisent le `s3a` schéma. Si ce n'est pas le cas, vous pouvez configurer l'implémentation du système de fichiers que vous utilisez pour votre cluster EMR afin que votre S3 URIs fonctionne avec le connecteur S3A.

Pour configurer l'implémentation du système de fichiers afin qu'elle fonctionne avec le connecteur S3A, vous utilisez les propriétés de `fs.AbstractFileSystem.file_scheme.impl` configuration `fs.file_scheme.impl` et de votre cluster EMR, `file_scheme` qui correspondent au type de URIs S3 dont vous disposez. Pour utiliser l’exemple suivant, remplacez les *`user input placeholders`* par vos propres informations. Par exemple, pour modifier l'implémentation du système de fichiers pour S3 URIs qui utilise le `s3` schéma, spécifiez les propriétés de configuration de cluster suivantes :

```
1. [
2.   {
3. "Classification": "core-site",
4.     "Properties": {
5.     "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem",
6.     "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A"
7.     }
8.   }
9. ]
```

Pour utiliser S3A, définissez la propriété de configuration `fs.file_scheme.impl` sur `org.apache.hadoop.fs.s3a.S3AFileSystem` et définissez la propriété `fs.AbstractFileSystem.file_scheme.impl` sur `org.apache.hadoop.fs.s3a.S3A`.

Par exemple, si vous accédez au chemin `s3a://bucket/...`, définissez la propriété `fs.s3a.impl` sur `org.apache.hadoop.fs.s3a.S3AFileSystem` et définissez la propriété `fs.AbstractFileSystem.s3a.impl` sur `org.apache.hadoop.fs.s3a.S3A`.

## Premiers pas avec Amazon EMR et Amazon S3 sur Outposts
<a name="getting-started-outposts"></a>

Les rubriques suivantes expliquent comment commencer à utiliser Amazon EMR avec Amazon S3 sur Outposts.

**Topics**
+ [Création d’une stratégie d’autorisations](#create-permission-policy)
+ [Création et configuration de votre cluster](#configure-cluster)
+ [Présentation des configurations](#configurations-overview)
+ [Considérations](#considerations)

### Création d’une stratégie d’autorisations
<a name="create-permission-policy"></a>

Avant de créer un cluster EMR utilisant Amazon S3 sur Outposts, vous devez créer une politique IAM à attacher au profil d’instance Amazon EC2 pour le cluster. Cette politique doit disposer d’autorisations pour accéder à l’Amazon Resource Name (ARN) du point d’accès S3 sur Outposts. Pour plus d’informations sur la création de politiques IAM pour S3 sur Outposts, consultez [Configuration d’IAM avec S3 sur Outposts](S3OutpostsIAM.md). 

L’exemple de politique suivant montre comment accorder les autorisations requises. Après avoir créé la politique, associez-la au rôle de profil d’instance que vous utilisez pour créer votre cluster EMR, comme décrit dans la section [Création et configuration de votre cluster](#configure-cluster). Pour utiliser cet exemple, remplacez les *`user input placeholders`* par vos propres informations.

```
 1. {
 2. "Version":"2012-10-17",		 	 	  
 3.   "Statement": [
 4.         {
 5.   "Effect": "Allow",
 6.             "Resource": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name,
 7.             "Action": [
 8.                 "s3-outposts:*"
 9.             ]
10.         }
11.     ]
12.     
13.  }
```

### Création et configuration de votre cluster
<a name="configure-cluster"></a>

Pour créer un cluster qui exécute Spark avec S3 sur Outposts, procédez comme suit dans la console.

**Pour créer un cluster qui exécute Spark avec S3 sur Outposts**

1. Ouvrez la console Amazon EMR à l'adresse [https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/).

1. Dans le volet de navigation de gauche, choisissez **Clusters**.

1. Choisissez **Créer un cluster**.

   

1. Pour **Version Amazon EMR**, choisissez **emr-7.0.0** ou une version ultérieure.

1. Pour Offre d’applications, choisissez **Spark interactive**. Sélectionnez ensuite les autres applications prises en charge que vous souhaitez inclure dans votre cluster.

1. Pour activer Amazon S3 sur Outposts, entrez vos paramètres de configuration.

**Exemples de paramètres de configuration**  
Pour utiliser les exemples de paramètres de configuration suivants, remplacez les `user input placeholders` par vos propres informations.

   ```
    1. [
    2.  {
    3.    "Classification": "core-site",
    4.    "Properties": {
    5.      "fs.s3a.bucket.DOC-EXAMPLE-BUCKET.accesspoint.arn": "arn:aws:s3-outposts:us-west-2:111122223333:outpost/op-01ac5d28a6a232904/accesspoint/access-point-name"
    6.      "fs.s3a.committer.name": "magic", 
    7.      "fs.s3a.select.enabled": "false"
    8.     }
    9.   },
   10.   {
   11.     "Classification": "hadoop-env",
   12.     "Configurations": [
   13.       {
   14.         "Classification": "export",
   15.         "Properties": {
   16.           "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64" 
   17.           }
   18.        }
   19.      ],
   20.      "Properties": {}
   21.    },
   22.    {
   23.      "Classification": "spark-env",
   24.      "Configurations": [
   25.        {
   26.          "Classification": "export",
   27.          "Properties": {
   28.            "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64"
   29.          }
   30.        }
   31.       ],
   32.       "Properties": {}
   33.      },
   34.      {
   35.       "Classification": "spark-defaults",
   36.       "Properties": {
   37.         "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64",
   38.         "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false"
   39.       }
   40.      }
   41.   ]
   ```

1. Dans la section **Mise en réseau**, choisissez un cloud privé virtuel (VPC) et un sous-réseau situés sur votre rack. AWS Outposts Pour plus d’informations sur Amazon EMR sur Outposts, consultez [Clusters EMR sur AWS Outposts](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-outposts.html) dans le *Guide de gestion Amazon EMR*.

1. Dans la section **Profil d’instance EC2 pour Amazon EMR**, choisissez le rôle IAM auquel est jointe la [politique d’autorisation que vous avez créée précédemment](#create-permission-policy).

1. Configurez les paramètres de cluster restants, puis choisissez **Créer un cluster**.

### Présentation des configurations
<a name="configurations-overview"></a>

Le tableau suivant décrit les configurations S3A et les valeurs à spécifier pour leurs paramètres lorsque vous configurez un cluster qui utilise S3 sur Outposts avec Amazon EMR.


| Paramètre | Valeur par défaut | Valeur requise pour S3 sur Outposts | Explication | 
| --- | --- | --- | --- | 
|  `fs.s3a.aws.credentials.provider`  |  Si la valeur n’est pas spécifiée, S3A recherchera S3 dans le compartiment de la région avec le nom de compartiment Outposts.  |  ARN du point d’accès du compartiment S3 sur Outposts  |  Amazon S3 sur Outposts prend en charge les points d’accès Virtual Private Cloud (VPC) uniquement comme seul moyen d’accéder à vos compartiments Outposts.  | 
|  `fs.s3a.committer.name`  | file |  `magic`  |  Le validateur magique est le seul validateur pris en charge pour S3 sur Outposts.   | 
|  `fs.s3a.select.enabled`  |  `TRUE`  |  `FALSE`  | S3 Select n’est pas pris en charge sur Outposts. | 
|  `JAVA_HOME`  |  `/usr/lib/jvm/java-8`  |  `/usr/lib/jvm/java-11-amazon-corretto.x86_64`  |  S3 sur Outposts sur S3A nécessite Java version 11.  | 

Le tableau suivant décrit les configurations Spark et les valeurs à spécifier pour leurs paramètres lorsque vous configurez un cluster qui utilise S3 sur Outposts avec Amazon EMR.


| Paramètre | Valeur par défaut | Valeur requise pour S3 sur Outposts | Explication | 
| --- | --- | --- | --- | 
|  `spark.sql.sources.fastS3PartitionDiscovery.enabled`  |  `TRUE`  |  `FALSE`  |  S3 sur Outposts ne prend pas en charge la partition rapide.  | 
|  `spark.executorEnv.JAVA_HOME`  |  `/usr/lib/jvm/java-8`  |  `/usr/lib/jvm/java-11-amazon-corretto.x86_64`  |  S3 sur Outposts sur S3A nécessite Java version 11.  | 

### Considérations
<a name="considerations"></a>

Tenez compte des points suivants lorsque vous intégrez Amazon EMR avec les compartiments S3 sur Outposts :
+ Amazon S3 sur Outposts est pris en charge avec Amazon EMR version 7.0.0 et ultérieure.
+ Le connecteur S3A est nécessaire pour utiliser S3 sur Outposts avec Amazon EMR. Seul S3A dispose des fonctionnalités requises pour interagir avec les compartiments S3 sur Outposts. Pour obtenir des informations sur la configuration du connecteur S3A, consultez [Conditions préalables](#s3a-outposts-prerequisites). 
+ Amazon S3 sur Outposts prend en charge uniquement le chiffrement côté serveur avec les clés gérées par Amazon S3 (SSE-S3) avec Amazon EMR. Pour de plus amples informations, veuillez consulter [Chiffrement des données dans S3 sur Outposts](s3-outposts-data-encryption.md).
+ Amazon S3 on Outposts ne prend pas en charge les écritures avec le S3A. FileOutputCommitter Les écritures effectuées avec le S3A FileOutputCommitter sur les compartiments S3 on Outposts entraînent l'erreur suivante InvalidStorageClass: La classe de stockage que vous avez spécifiée n'est pas valide.
+ Amazon S3 sur Outposts n’est pas pris en charge avec Amazon EMR sans serveur ni Amazon EMR sur EKS.
+ Les journaux Amazon EMR sont stockés dans un emplacement Amazon S3 régional que vous sélectionnez et ne sont pas stockés localement dans le compartiment S3 sur Outposts.