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.
Utilisation de S3 Select Pushdown avec Presto pour améliorer les performances
Important
Amazon S3 Select n'est plus disponible pour les nouveaux clients. Les clients existants d'Amazon S3 Select peuvent continuer à utiliser cette fonctionnalité comme d'habitude. En savoir plus
Avec les EMR versions 5.18.0 et ultérieures d'Amazon, vous pouvez utiliser S3 selectSELECT
) et les opérations de prédicat (par exemple, WHERE
) sur Amazon S3. Cela permet aux requêtes de récupérer uniquement les données requises d'Amazon S3, ce qui peut améliorer les performances et réduire la quantité de données transférées entre Amazon EMR et Amazon S3 dans certaines applications.
S3 Select Pushdown est-il adapté à mon application ?
Nous vous recommandons de tester vos applications avec et sans S3 Select Pushdown pour voir si son utilisation peut être adaptée à votre application.
Utilisez les consignes suivantes pour déterminer si votre application peut utiliser S3 Select :
-
Votre requête exclut plus de la moitié de l'ensemble de données d'origine.
-
Vos prédicats de filtre de requête utilisent les colonnes qui ont un type de données pris en charge par Presto et S3 Select. Les types de données horodateur, réel et double ne sont pas pris en charge par S3 Select Pushdown. Nous recommandons d'utiliser le type de données décimal pour les données quantitatives. Pour plus d'informations sur les types de données pris en charge pour S3 Select, veuillez consulter Amazon Simple Storage Service, veuillez consulter Types de données dans le Guide de l'utilisateur Amazon Simple Storage Service.
-
Votre connexion réseau entre Amazon S3 et le EMR cluster Amazon offre une bonne vitesse de transfert et une bonne bande passante disponible. Amazon S3 ne compresse pas HTTP les réponses. La taille des réponses est donc susceptible d'augmenter pour les fichiers d'entrée compressés.
Considérations et restrictions
-
Seuls les objets stockés au CSV format sont pris en charge. Les objets peuvent être décompressés ou facultativement compressés avec gzip ou bzip2.
-
La propriété
AllowQuotedRecordDelimiters
n'est pas prise en charge. Si cette propriété est spécifiée, la requête échoue. -
Le chiffrement côté serveur Amazon S3 avec les clés de chiffrement fournies par le client (SSE-C) et le chiffrement côté client ne sont pas pris en charge.
-
S3 Select Pushdown ne remplace pas l'utilisation de formats de fichiers en colonnes ou compressés tels que ParquetORC.
-
Amazon S3 Select ne prend pas en charge les requêtes interrégionales pour Presto et Trino.
Activation de S3 Select Pushdown avec PrestoDB ou Trino
Pour activer S3 Select Pushdown pour PrestoDB sur EMR Amazon, utilisez la classification de configuration à hive.s3select-pushdown.enabled
définir presto-connector-hive
true
comme indiqué dans l'exemple ci-dessous. Pour de plus amples informations, veuillez consulter Configuration des applications. La valeur hive.s3select-pushdown.max-connections doit également être définie. Le paramètre
par défaut devrait être approprié pour la plupart des applications. Pour plus d’informations, consultez Comprendre et régler hive.s3select-pushdown.max-connections ci-dessous.500
Pour Presto SQL sur EMR les versions 6.1.0 à 6.3.0, remplacez
dans l'exemple ci-dessous par. presto-connector-hive
prestosql-connector-hive
EMRLes versions 6.4.0 et ultérieures d'Amazon utilisent le nouveau nom Trino au lieu de Presto. SQL Si vous utilisez Trino, remplacez
dans l'exemple ci-dessous par presto-connector-hive
trino-connector-hive
[ { "classification": "
presto-connector-hive
", "properties": { "hive.s3select-pushdown.enabled": "true", "hive.s3select-pushdown.max-connections": "500" } } ]
Comprendre et régler hive.s3select-pushdown.max-connections
Par défaut, Presto utilise EMRFS comme système de fichiers. Le paramètre fs.s3.maxConnections
de la classification emrfs-site
de configuration spécifie le nombre maximal de connexions client autorisées à Amazon S3 via EMRFS Presto. 500 par défaut. S3 Select Pushdown contourne les opérations de prédicat EMRFS lors de l'accès à Amazon S3. Dans ce cas, la valeur de hive.s3select-pushdown.max-connections
détermine le nombre maximal de connexions clients autorisées pour ces opérations de nœuds de travail. Cependant, toutes les demandes adressées à Amazon S3 par Presto qui ne sont pas repoussées vers le bas (par exemple, les GET opérations) continuent d'être régies par la valeur de. fs.s3.maxConnections
Si votre application fait l'expérience de l'erreur « Temporisation attente de connexion du groupe », augmentez la valeur de hive.s3select-pushdown.max-connections
et de fs.s3.maxConnections
.