Presto ist eine verteilte Open-Source-SQL-Abfrage-Engine, optimiert für Ad-hoc-Datenanalysen mit geringer Latenz. Sie unterstützt den ANSI-SQL-Standard, einschließlich komplexer Abfragen, Aggregationen, Verknüpfungen und Fensterfunktionen. Presto kann Daten aus mehreren Datenquellen verarbeiten, etwa Hadoop Distributed File System (HDFS) und Amazon S3. Presto hat zwei Community-Projekte – RestoDB und PrestoSQL. Amazon EMR unterstützt beide Projekte. Weitere Informationen über PrestoDB finden Sie hier.
Sie können verwaltete Presto-Cluster schnell und einfach von der AWS-Managementkonsole, AWS-CLI oder der Amazon EMR-API aus erstellen. Außerdem können Sie zusätzliche Funktionen von Amazon EMR nutzen, darunter die schnelle Amazon S3-Verbindung, Integration mit Amazon EC2-Spot-Instances, die Wahl einer Reihe von Amazon EC2-Instances, darunter die speicheroptimierten Instances und Befehle zum Ändern der Instance-Größe für einfaches Hinzufügen oder Entfernen von Instances aus Ihrem Cluster.
Funktionen und Vorteile
Interaktive Abfrageleistung
Presto nutzt eine individuelle Abfrage-Ausführungs-Engine mit Operatoren, die für die Unterstützung von SQL-Semantik entwickelt wurden. Im Gegensatz zu Hive/MapReduce führt Presto Abfragen im Speicher aus, die zwischen den Stufen über das Netzwerk geleitet werden, um unnötige E/As zu vermeiden. Das Pipeline-Durchführungsmodell läuft in mehreren Stufen parallel und überträgt Daten von einer Stufe zur nächsten, sobald sie verfügbar sind.
Einfache Nutzung
Sie können ein Amazon EMR-Cluster mit Presto in wenigen Minuten starten. Sie brauchen sich nicht um die Bereitstellung von Knoten, die Einrichtung, die Konfiguration oder die Optimierung von Clustern zu kümmern. Diese Aufgaben werden von Amazon EMR ausgeführt, damit Sie sich auf die Analyse konzentrieren können. Sie können auch Tools wie Airpal verwenden, ein webbasiertes Open-Source-Abfrageausführungstool von Airbnb. Die Benutzeroberfläche von Airpal vereinfacht die Datenuntersuchung und Ad-hoc-Analyse und unterstützt Funktionen wie Syntaxmarkierungen, die Möglichkeit für den Export von Resultaten in CSV, das Speichern von Abfragen für später und die Möglichkeit, Tabellen zur Schemavisualisierung zu durchsuchen.
Integration mit Amazon-EMR-Funktionssatz
Interaktive Abfragen durchführen, die direkt auf Daten in Amazon S3 zugreifen, Kosten mithilfe der Amazon EC2 Spot Instance-Kapazität sparen, Auto Scaling nutzen, um Kapazitäten dynamisch hinzuzufügen und zu entfernen und lange andauernde oder flüchtige Cluster passend zu Ihrer Workload starten. Sie können auch andere Hadoop-Anwendungen in Ihrem Cluster hinzufügen.
ANSI SQL Unterstützung
Presto unterstützt den ANSI-SQL-Standard, der es Datenanalysten und -entwicklern leicht macht, sowohl strukturierte als auch unstrukturierte Daten den Anforderungen entsprechend abzufragen. Aktuell unterstützt Presto eine breite Palette an SQL-Funktionen, einschließlich komplexer Abfragen, Aggregationen, Verknüpfungen und Fensterfunktionen.
Kundenerfolg
Bei Netflix hat man sich für Presto als interaktive Abfrage-Engine für Big Data entschieden, die den ANSI-SQL-Standard erfüllt. Presto skaliert gut, ist open-source und kann mit dem Hive Metastore und Amazon S3 integriert werden – dem Rückgrat der Big Data Warehouse-Umgebung von Netflix. Netflix führt Presto auf permanenten Amazon EMR-Clustern aus, um schnell und flexibel Abfragen im ~25 PB Amazon S3-Datenspeicher durchführen zu können. Netflix leistet aktiv einen Beitrag zu Presto und Amazon EMR bietet Netflix die Flexibilität, damit man dort eine eigene Version von Presto auf Amazon EMR-Clustern ausführen kann. Durchschnittlich führt Netflix ~3 500 Abfragen pro Tag auf Presto-Clustern durch.
Jampp ist eine Marketing-Plattform für mobile Apps, die erweiterte Werbe-/Retargeting-Techniken nutzt, um aktive Benutzer zu den Apps zu führen. Jampp erreicht dies durch den Kauf von mobilem Medienbestand über die eigene Real-Time Bidding-Engine (RTB, Bieten in Echtzeit), die dynamisch auf Inventar auf 18 RTB-Börsen und über 150 Mobil-Werbenetzwerken bietet. Jampp nutzt Presto ausgeführt auf Amazon EMR für erweiterte Ad-hoc-Protokollanalysen und kombiniert Daten von multiplen Quellen und komplexen Retargeting-Segment-Berechnungen. Mit einem um 600 % gewachsenen Benutzerstamm stiegen auch die Anforderungen für komplexe analytische Abfragen. Jampp wechselte von der Ausführung einer komplexen Python-Anwendung mit mehreren Kernen auf Presto und erzielte damit eine 12-fache Leistungssteigerung. Jampp nutzt Presto aktuell in Amazon EMR für die Verarbeitung von 40 TB Daten pro Tag.
Als Zentrum für Firmengründungen betreibt das Unternehmen Cogo Labs eine Plattform für Marketinganalysen und Business Intelligence, die von den Unternehmen in seinem Portfolio sowie von internen Teams genutzt wird. Um eine OLAP-Umgebung mit hoher Innovationsrate zu unterstützen, entschied man sich für SQL, um mit Daten zu interagieren. Cogo Labs wählte Presto aufgrund seiner Echtzeit-Abfrageleistung, Unterstützung für ANSI-SQL und Möglichkeit für eine Datenverarbeitung direkt in Amazon S3. Das Ausführen von Presto in Amazon EMR ermöglicht den über 100 Entwicklern und Analysten das Ausführen von SQL-Abfragen in über 500 TB an in Amazon S3 für Suchen gespeicherten Daten, Ad-hoc-Analysen und Berichten. Cogo Labs nutzt eine Kombination aus kurzlebigen und permanenten Clustern und vertraut auf die Integration von Amazon EMR mit Spot-Instances, um die Kosten zu senken.
OpenSpan bietet Automatisierungs- und Intelligence-Lösungen, die eine Brücke zwischen Menschen, Prozessen und Technologie bilden sollen, um Einblicke in die Mitarbeiterproduktivität zu gewinnen und Mitarbeiter und Kunden miteinbeziehen. OpenSpan migrierte von HBase zu Presto in Amazon EMR mit Daten in Amazon S3. OpenSpan wählte Presto aufgrund seiner SQL-Schnittstelle und der Möglichkeit, Daten in Echtzeit direkt auf Amazon S3 abzufragen; Presto ermöglichte OpenSpan, rasch riesige Datenmengen zu durchsuchen und schneller auf anstehende Datenprodukte zu iterieren. OpenSpan nutzt das Parquet-Dateiformat und verwendet außerdem PrestogreSQL für die Verbindung mit Presto. OpenSpan entschied sich für Amazon EMR und Amazon S3 für die kosteneffiziente Verarbeitung der Daten in Gigabyte-Menge, die man dort täglich von Kunden erhält.
Kanmu ist ein japanisches Startup-Unternehmen in der Finanzdienstleistungsbranche und bietet kartenbezogene Angebote auf der Grundlage der Kreditkartennutzung des Kunden. Kanmu migrierte von Hive zu Presto in Amazon EMR. Ausschlaggebend war die Möglichkeit für das Ausführen von explorativen und iterativen Analysen in interaktiver Geschwindigkeit, die gute Leistung in Verbindung mit Amazon S3 und Skalierbarkeit für das Abfragen großer Datensätze. Kanmu nutzt Fluentd-plugin-s3 für das Verschieben von Daten in Amazon S3 per Push-Verfahren, das Optimized Row Columnar-Format (ORC, optimiertes spaltenbasiertes Layout), um Daten zu speichern. Shib, ein node.js-basierter Webclient, wird für das Ausführen von Abfragen genutzt.
Weitere Informationen zu den Preisen von Amazon EMR