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 des limites suivantes lorsque vous exécutez Presto sur AmazonEMR.

Exécutable en ligne de commande Presto

Dans AmazonEMR, PrestoDB et Trino utilisent tous deux le même exécutable en ligne de commandepresto-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'EMRAmazon. Utilisez la classification de configuration presto-log.

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

config.properties

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

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

hive.properties

PrestoDB : configurable dans les versions 4.1.0 et ultérieures d'EMRAmazon. Utilisez la classification de configuration presto-connector-hive.

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

node.properties

PrestoDB : configurable dans EMR Amazon version 5.6.0 et versions ultérieures. Utilisez la classification de configuration presto-node.

Trino (PrestoSQL) : configurable dans les EMR versions 6.1.0 et ultérieures d'Amazon. 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 Presto SQL 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.

EMRFSet configuration de PrestOS3 FileSystem

Avec EMR les versions 5.12.0 et ultérieures d'Amazon, PrestoDB peut utiliser. EMRFS Il s'agit de la configuration par défaut. EMRFSest également le système de fichiers par défaut pour Trino (PrestoSQL) dans les EMR versions 6.1.0 et ultérieures d'Amazon. Pour plus d'informations, consultez EMRFile System (EMRFS) dans le Amazon EMR Management Guide. Dans les versions antérieures d'AmazonEMR, PrestOS3 FileSystem est la seule option de configuration.

Vous pouvez utiliser une configuration de sécurité pour configurer le chiffrement EMRFS des données dans Amazon S3. Vous pouvez également utiliser IAM des rôles pour les EMRFS demandes adressées à Amazon S3. Pour plus d'informations, consultez Comprendre les options de chiffrement et Configurer IAM les rôles pour les EMRFS demandes adressées à Amazon S3 dans le guide EMR de gestion Amazon.

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 EMRFS valeur par défaut et utiliser PrestOS3 à la placeFileSystem . 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.

[ { "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, EMR les versions 5.12.0 et ultérieures d'Amazon autorisent l'usurpation d'identité de l'utilisateur final pour accéder à. 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. EMRLes versions 5.0.3, 5.1.0 et 5.2.0 d'Amazon 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" } } ]