Presto est un moteur de requêtes SQL distribué open source optimisé pour l'analyse ad hoc des données avec un faible temps de latence. Il prend en charge la norme ANSI SQL, y compris les requêtes complexes, les agrégations, les jonctions et les fonctions de fenêtres. Presto peut traiter des données provenant de plusieurs sources de données, notamment HDFS (Hadoop Distributed File System) et Amazon S3. Presto possède deux projets communautaires : PrestoDB et PrestoSQL. Amazon EMR prend en charge ces deux projets. Pour en savoir plus sur PrestoDB, cliquez ici.
Vous pouvez rapidement et facilement créer des clusters Presto gérés à partir de la Console de gestion AWS, de l'interface de ligne de commande AWS ou de l'API Amazon EMR. De plus, vous pouvez profiter d'autres fonctionnalités d'Amazon EMR, notamment une connectivité rapide à Amazon S3, une intégration aux instances Spot Amazon EC2, un large choix d'instances Amazon EC2, y compris les instances optimisées pour la mémoire, et des commandes de redimensionnement pour ajouter ou supprimer facilement des instances dans votre cluster.
Fonctionnalités et avantages
Performances de requêtes interactives
Presto utilise un moteur d'exécution de requête personnalisé avec des opérateurs conçus pour prendre en charge la sémantique SQL. Différent de Hive/MapReduce, Presto exécute des requêtes en mémoire acheminées par pipeline à travers le réseau entre les stades, ce qui permet d’éviter les E/S non nécessaires. Le modèle d’exécution par pipeline exécute plusieurs stades en parallèle et distribue des données d’un stade à l’autre dès qu’elles sont disponibles.
Simplicité d'utilisation
Vous pouvez lancer un cluster Amazon EMR exécutant Presto en quelques minutes. Vous n'avez pas à vous préoccuper de la mise en service des nœuds ni de la mise en place, de la configuration ou du réglage du cluster. Amazon EMR prend en charge ces tâches, afin que vous puissiez vous concentrer sur vos opérations d'analyse. Vous pouvez également utiliser des outils tels qu'Airpal, un outil d'exécution de requête open source basé sur le web proposé par Airbnb. L'interface utilisateur d'Airpal simplifie l'exploration de données et l'analyse ad hoc et prend en charge des fonctionnalités telles que la mise en surbrillance de la syntaxe, la possibilité d'exporter des résultats au format CSV, l'enregistrement des requêtes aux fins d'une utilisation ultérieure et la possibilité d'explorer les tables pour visualiser un schéma.
Intégration à l'ensemble de fonctionnalités Amazon EMR
Exécutez des requêtes interactives qui accèdent directement aux données dans Amazon S3, réalisez des économies en utilisant votre capacité d'instance Spot Amazon EC2, utilisez EMR Managed Scaling pour ajouter et supprimer de la capacité de façon dynamique, et lancez des clusters de longue durée ou éphémères pour vous adapter à votre charge de travail. Vous pouvez également ajouter d'autres applications de l'écosystème Hadoop sur votre cluster.
Prise en charge de la norme ANSI SQL
Presto prend en charge la norme ANSI SQL, ce qui permet aux analystes de données et aux développeurs d'interroger facilement les données structurées et non structurées à l'échelle. Presto prend actuellement en charge de nombreuses fonctionnalités SQL, notamment les requêtes complexes, les agrégations, les jointures et les fonctions de fenêtrage.
Témoignages de réussite
Netflix a choisi Presto comme moteur de requêtes interactif compatible ANSI SQL pour le Big Data. Presto est correctement dimensionné et open source, et s'intègre à Hive Metastore et Amazon S3, la dorsale de l'environnement d'entrepôt Big Data de Netflix. Netflix exécute Presto sur des clusters Amazon EMR permanents pour interroger rapidement et avec souplesse les données stockées dans son magasin de données Amazon S3 d'une capacité d'environ 25 Po. Netflix est un contributeur actif de Presto, et Amazon EMR donne à Netflix la possibilité d'exécuter sa propre version de Presto sur des clusters Amazon EMR. En moyenne, Netflix exécute environ 3 500 requêtes par jour sur ses clusters Presto.
Jampp est une plateforme de marketing pour applications mobiles qui utilise des techniques avancées de reciblage publicitaire pour encourager les utilisateurs engagés à utiliser des applications. Pour ce faire, Jampp achète un inventaire mobile via son propre moteur d'enchères en temps réel basé sur la conversion, qui enchérit de façon dynamique sur l'inventaire sur 18 échanges d'enchères en temps réel et plus de 150 réseaux publicitaires mobiles. Jampp utilise Presto sur Amazon EMR pour l'analyse ad hoc avancée de journaux, en associant des données provenant de plusieurs sources et des calculs de segment de reciblage complexes. La base d'utilisateurs de Jampp a augmenté de 600 %, tout comme la demande de requêtes analytiques complexes. L'entreprise a abandonné son application Python multicœur complexe exécutée sur MySQL au profit de Presto, ce qui a multiplié par douze ses performances. Jampp utilise actuellement Presto sur Amazon EMR pour traiter 40 To de données par jour.
Incubateur de start-up, Cogo Labs exploite une plateforme d'analyse marketing et d'informatique décisionnelle utilisée par ses sociétés de portefeuille et ses équipes internes. Pour prendre en charge un environnement OLAP caractérisé par un fort taux d'innovation, l'entreprise s'est conformée à la norme SQL pour assurer l'interaction avec les données. Cogo Labs a choisi Presto pour ses performances de requêtes en temps réel, sa prise en charge de la norme ANSI SQL et sa capacité à traiter les données directement depuis Amazon S3. Lorsqu'il est exécuté sur Amazon EMR, le moteur Presto permet à plus de 100 développeurs et analystes d'exécuter des requêtes SQL sur plus de 500 To de données stockées sur Amazon S3 pour l'exploration de données, l'analyse ad hoc et la génération de rapports. Cogo Labs utilise une combinaison de clusters à courte durée de vie et permanents, et s'appuie sur l'intégration d'Amazon EMR aux instances Spot pour réduire ses coûts.
OpenSpan propose des solutions d'automatisation et d'informatique décisionnelle qui aident à relier les personnes, les processus et la technologie pour avoir un aperçu de la productivité des employés, simplifier les transactions et impliquer les employés et les clients. OpenSpan a migré depuis HBase vers Presto sur Amazon EMR et stocke ses données dans Amazon S3. OpenSpan a choisi Presto en raison de son interface SQL et de sa capacité à interroger les données en temps réel directement depuis Amazon S3 ; le moteur permet à l'entreprise d'explorer rapidement de grandes quantités de données et d'itérer rapidement les prochains produits de données. OpenSpan utilise le format de fichier Parquet et fait appel à PrestogreSQL pour se connecter à Presto. OpenSpan a choisi Amazon EMR et Amazon S3 pour traiter de façon rentable les gigaoctets de données transmis chaque jour par ses clients.
Kanmu est une start-up japonaise opérant dans le secteur des services financiers. Elle propose à ses clients des offres qui dépendent de l'utilisation de leur carte de crédit. Kanmu a migré de Hive vers Presto sur Amazon EMR en raison de la capacité de Presto à exécuter des analyses exploratoires et itératives à une vitesse interactive, de ses bonnes performances avec Amazon S3 et de son évolutivité permettant d'interroger de grands ensembles de données. Kanmu utilise Fluentd-plugin-s3 pour transférer des données vers Amazon S3, le format ORC (Optimized Row Columnar) pour stocker des données, et shib, un client web basé sur node.js, pour exécuter des requêtes SQL.
En savoir plus sur la tarification d'Amazon EMR