Publié le: Nov 21, 2022

Aujourd'hui, Amazon EMR a annoncé la prise en charge des requêtes SQL longues tolérantes aux pannes sur le moteur Trino (projet Tardigrade) avec vérification des points de contrôle dans Amazon S3 ou HDFS pour la tolérance aux pannes. Le projet Tardigrade vise à améliorer l'expérience utilisateur des requêtes longues et nécessitant beaucoup de ressources sur Trino, lorsqu'elles sont utilisées pour des charges de travail de type ETL. Le projet Tardigrade utilise Amazon S3 pour la vérification des points de contrôle des données intermédiaires mises en mémoire tampon. Avec la version 6.9 d'Amazon EMR, nous ajoutons également la vérification des points de contrôle sur HDFS pour les charges de travail SQL sensibles aux performances et de longue durée.

Les charges de travail ETL de longue durée peuvent être difficiles à exécuter de manière fiable et rentable sur Trino. En effet, le redémarrage des requêtes qui ont échoué dès le départ gaspillerait les ressources du cluster et l'absence de capacité de requête itérative pourrait coûter plus cher sur les grands clusters. Le projet Tardigrade a introduit un nouveau mécanisme d'exécution tolérant aux pannes qui permet aux clusters Trino d'atténuer les défaillances des requêtes en les relançant à l'aide des données d'échange intermédiaires recueillies sur S3. L'équipe Amazon EMR a étendu cette capacité au point de contrôle dans HDFS pour améliorer encore les performances de ces requêtes Trino. Grâce à la prise en charge des requêtes longues tolérantes aux pannes, les utilisateurs d'Amazon EMR peuvent désormais exécuter des flux de travail ETL de manière fiable tout en bénéficiant de performances et d'économies grâce à l'exécution de tâches itératives. Vous pouvez activer la tolérance aux pannes sur les clusters Trino d'Amazon EMR en utilisant la classification de la configuration Trino sur la console Amazon EMR, l'interface CLI ou l'API.

Vous pouvez utiliser cette fonctionnalité dans toutes les régions où Amazon EMR Trino est publiquement disponible. Pour en savoir plus sur ces fonctions, veuillez consulter notre documentation.