

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.

# Considérations relatives à Presto sur Amazon EMR
<a name="emr-presto-considerations"></a>

Tenez compte limitations suivantes lors de l'exécution de [Presto](https://aws.amazon.com/big-data/what-is-presto/) sur Amazon EMR.

## Exécutable en ligne de commande Presto
<a name="emr-presto-command-line-cli"></a>

Dans Amazon EMR, PrestoDB et Trino utilisent tous deux le même exécutable en ligne de commande, `presto-cli`, comme dans l'exemple suivant.

```
presto-cli --catalog hive
```

## Propriétés de déploiement Presto non configurables
<a name="emr-presto-deployment-config"></a>

La version d'Amazon EMR que vous utilisez détermine les configurations de déploiement Presto disponibles. Pour plus d'informations sur ces propriétés de configuration, consultez la section [Déploiement de Presto](https://prestodb.io/docs/current/installation/deployment.html) dans la documentation de Presto. Le tableau suivant montre les différentes options de configuration pour les fichiers Presto `properties`.


| Fichier | Configurable | 
| --- | --- | 
|  `log.properties`  |  PrestoDB : configurable dans les versions 4.0.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration `presto-log`.  | 
|  `config.properties`  |  PrestoDB : configurable dans les versions 4.0.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration `presto-config`.  | 
|  `hive.properties`  |  PrestoDB : configurable dans les versions 4.1.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration `presto-connector-hive`.  | 
|  `node.properties`  |  PrestoDB : configurable dans les versions 5.6.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration `presto-node`.  | 
|  `jvm.config`  |  Non configurable.  | 

## Installation de PrestoDB
<a name="emr-prestodb-prestosql"></a>

Le nom de l'application *Presto* continue d'être utilisé pour installer PrestoDB sur des clusters. 

Vous pouvez installer PrestoDB ou Trino, mais vous ne pouvez pas installer les deux sur un seul cluster. Si vous spécifiez à la fois Prestodb et Trino lorsque vous tentez de créer un cluster, une erreur de validation se produit et la demande de création de cluster échoue.

## Configuration d'EMRFS et de PrestOS3 FileSystem
<a name="emr-presto-prestos3"></a>

Avec les versions 5.12.0 et ultérieures d'Amazon EMR, PrestoDB peut utiliser EMRFS. Pour plus d'informations, consultez [EMR File System (EMRFS)](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs) dans le *Guide de gestion Amazon EMR*. Dans les versions antérieures d'Amazon EMR, PrestOS3 FileSystem est la seule option de configuration.

Vous pouvez utiliser une configuration de sécurité pour configurer le chiffrement des données EMRFS dans Amazon S3. Vous pouvez également utiliser les rôles IAM pour les demandes EMRFS à Amazon S3. Pour plus d'informations, consultez les sections [Comprendre les options de chiffrement](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) et [Configuration des rôles IAM pour les demandes EMRFS vers Amazon S3](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html) dans le *Guide de gestion Amazon EMR*.

**Note**  
Si vous interrogez des données sous-jacentes dans Amazon S3 avec Amazon EMR version 5.12.0, des erreurs Presto peuvent se produire. Cela est dû au fait que Presto ne parvient pas à récupérer les valeurs de classification de configuration depuis `emrfs-site.xml`. Pour contourner le problème, créez un sous-répertoire `emrfs` sous `usr/lib/presto/plugin/hive-hadoop2/` et un lien symbolique dans `usr/lib/presto/plugin/hive-hadoop2/emrfs` vers le fichier `/usr/share/aws/emr/emrfs/conf/emrfs-site.xml` existant. Redémarrez ensuite le processus presto-server (`sudo presto-server stop` suivi de `sudo presto-server start`). 

Vous pouvez remplacer la valeur par défaut d'EMRFS et utiliser PrestOS3 à la place. FileSystem Pour ce faire, utilisez la classification de configuration `presto-connector-hive` pour définir `hive.s3-file-system-type` sur `PRESTO` comme illustré dans l'exemple suivant. Pour de plus amples informations, veuillez consulter [Configuration des applications](emr-configure-apps.md).

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.s3-file-system-type": "PRESTO"
      }
   }
]
```

Si vous utilisez PrestOS3FileSystem, utilisez la classification de `presto-connector-hive` configuration pour configurer les propriétés de PrestOS3. FileSystem Pour plus d'informations sur les propriétés disponibles, consultez [Configuration Amazon S3](https://prestodb.io/docs/current/connector/hive.html#amazon-s3-configuration) dans la section du connecteur Hive de la documentation Presto. Ces paramètres ne s'appliquent pas à EMRFS.

## Paramètre par défaut de l'emprunt d'identité de l'utilisateur final
<a name="emr-presto-end-user-impersonation"></a>

Par défaut, les versions 5.12.0 et ultérieures d'Amazon EMR activent l'emprunt d'identité de l'utilisateur final pour l'accès à HDFS. Pour plus d'informations, consultez [Emprunt de l'identité de l'utilisateur final](https://prestodb.io/docs/current/connector/hive-security.html#end-user-impersonation) dans la documentation Presto. Pour modifier ce paramètre avec la classification de configuration `presto-config`, définissez la propriété `hive.hdfs.impersonation.enabled` sur `false`.

## Port par défaut de l'interface Web Presto
<a name="emr-presto-default-web-port"></a>

Par défaut, Amazon EMR configure l'interface web Presto sur le coordinateur Presto pour utiliser le port 8889 (pour PrestoDB et Trino). Pour modifier le port, utilisez la classification de configuration `presto-config` pour définir la propriété `http-server.http.port`. Pour plus d'informations, consultez [Propriétés de configuration](https://prestodb.io/docs/current/installation/deployment.html#config-properties) dans la section *Déploiement de Presto* de la documentation Presto.

## Problème d'exécution du compartiment Hive dans certaines versions
<a name="emr-presto-bucket-execution"></a>

Presto version 152.3 connaît un problème lié à l'exécution de compartiment Hive qui entraîne des performances des requêtes Presto significativement plus lentes dans certaines circonstances. Les versions 5.0.3, 5.1.0 et 5.2.0 d'Amazon EMR incluent cette version de Presto. Pour atténuer ce problème, utilisez la classification de configuration `presto-connector-hive` pour définir la propriété `hive.bucket-execution` sur `false` tel qu'illustré dans l'exemple suivant.

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.bucket-execution": "false"
      }
   }
]
```