Considérations relatives à Presto sur Amazon EMR - Amazon EMR

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

Tenez compte limitations suivantes lors de l'exécution de Presto sur Amazon EMR.

Exécutable en ligne de commande Presto

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

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

Trino (PrestoSQL) : configurable dans les versions 6.1.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration prestosql-log ou trino-log.

config.properties

PrestoDB : configurable dans les versions 4.0.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration presto-config.

Trino (PrestoSQL) : configurable dans les versions 6.1.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration prestosql-config ou trino-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.

Trino (PrestoSQL) : configurable dans les versions 6.1.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration prestosql-connector-hive ou trino-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.

Trino (PrestoSQL) : configurable dans les versions 6.1.0 et ultérieures d'Amazon EMR. Utilisez la classification de configuration prestosql-node ou trino-node.

jvm.config

Non configurable.

Installation de PrestoDB et Trino

Le nom de l'application Presto continue d'être utilisé pour installer PrestoDB sur des clusters. Pour installer Trino sur des clusters, utilisez le nom de l'application Trino (ou PrestoSQL dans les anciennes versions d'Amazon EMR).

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

Avec les versions 5.12.0 et ultérieures d'Amazon EMR, PrestoDB peut utiliser EMRFS. Il s'agit de la configuration par défaut. EMRFS est également le système de fichiers par défaut pour Trino (PrestoSQL) dans les versions 6.1.0 et ultérieures d'Amazon EMR. Pour plus d'informations, consultez EMR File System (EMRFS) 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 et Configuration des rôles IAM pour les demandes EMRFS vers Amazon S3 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 plus d’informations, consultez Configuration des applications.

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

Si vous utilisez PrestOS3FileSystem, utilisez la classification de presto-connector-hive configuration ou utilisez Trino trino-connector-hive pour configurer les propriétés de PrestOS3. FileSystem Pour plus d'informations sur les propriétés disponibles, consultez Configuration Amazon S3 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

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

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 dans la section Déploiement de Presto de la documentation Presto.

Problème d'exécution du compartiment Hive dans certaines versions

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" } } ]