Apache Spark für Amazon EMR
Warum Apache Spark auf EMR?
Amazon EMR ermöglicht es Ihnen, offene, transaktionale Data Lakes mit Apache Spark und Apache Iceberg zu erstellen. Unsere leistungsoptimierte Laufzeit ist zu 100 % API-kompatibel mit Open-Source-Spark. Sie läuft bis zu 4,5-mal schneller als Open-Source-Äquivalente und bietet gleichzeitig eine 2,7-mal schnellere Iceberg-Schreibleistung.
EMR unterstützt Apache Iceberg v3 und Spark 4.0 (Vorschau), sodass Sie Funktionen wie ACID-Transaktionen und Schema-Entwicklung mit Features wie dem VARIANT-Datentyp oder skalierbaren halbstrukturierten Daten und ANSI-SQL-Konformität für Datenintegrität nutzen können. Ganz gleich, ob Sie die präzise Steuerung von EC2, die containerisierte Skalierung von EKS oder die Einfachheit von EMR Serverless benötigen: Amazon EMR bietet Geschwindigkeit, Zuverlässigkeit und Datenintegrität.
Features und Vorteile
Die leistungsoptimierte Apache-Spark-Runtime von Amazon EMR beschleunigt Data-Lake-Workloads mit einer bis zu 4,5-mal schnelleren Ausführung als Open-Source-Äquivalente und bietet gleichzeitig eine 100-prozentige API-Kompatibilität. Diese Optimierung erstreckt sich auch auf Apache-Iceberg-Abläufe und bietet eine 2,7-mal schnellere Schreibleistung für transaktionale Data Lakes, die sowohl Geschwindigkeit als auch Zuverlässigkeit erfordern.
Mit Unterstützung für Apache Iceberg v3 und Spark 4.0 (Vorschau) ermöglicht EMR erweiterte Funktionen wie ACID-Transaktionen, Schemaentwicklung, den VARIANT-Datentyp für halbstrukturierte Datenverarbeitung und ANSI SQL-Konformität.
Amazon-EMR-Laufzeit für Spark optimiert Ihre Abfragepläne so, dass sie vollständig im Arbeitsspeicher ausgeführt werden, wodurch die Auslastung Ihrer Hardware maximiert wird. Durch die Optimierung der Verarbeitung von Zwischendaten reduziert EMR die Zeit bis zum Erreichen von Ergebnissen für Ihre ressourcenintensivsten Machine-Learning-Workloads, sodass Sie schneller iterieren können.
Modernisieren Sie Ihren Workflow mit SageMaker Unified Studio und EMR Studio, die integrierte Umgebungen für SQL, Python und Scala bieten. Nutzen Sie Amazon Q Developer, um optimierten PySpark-Code zu generieren und Fehler bei komplexen Ausführungsplänen (DAGs) in Echtzeit zu beheben. Im Gegensatz zu Standard-Spark bietet EMR eine persistente Spark-Benutzeroberfläche, mit der Sie Aufgabenprotokolle analysieren und debuggen können, auch wenn Ihre Serverless-Anwendungen oder kurzlebigen Cluster beendet wurden. Diese Beständigkeit ist entscheidend für die Prüfung und kontinuierliche Leistungsoptimierung in Produktionsumgebungen.
EMR Serverless sorgt für reibungslose Betriebsabläufe, da das Notebook sofort einsatzbereit ist. Sie müssen Cluster nicht mehr bereitstellen, skalieren oder verwalten. Sie hängen Ihre bevorzugte Entwicklungsumgebung wie Amazon SageMaker Unified Studio oder JupyterLab an eine EMR-Serverless-Anwendung an und beginnen mit der Abfrage. Die EMR-Laufzeit für Spark stellt sicher, dass Ihr interaktiver Code mit der gleichen Geschwindigkeit wie Ihre Produktionspipelines ausgeführt wird. Ganz gleich, ob Sie Ad-hoc-Datenermittlungen für Petabyte von S3-Daten durchführen oder komplexe Feature-Engineering-Aufgaben ausführen, Amazon EMR bietet die nahtlose, leistungsstarke Umgebung, die zur Beschleunigung Ihrer wichtigsten Datenwissenschafts-Workflows erforderlich ist.
Der Apache Spark-Aktualisierungsagent identifiziert automatisch API-Änderungen und Verhaltensänderungen in PySpark- und Scala-Anwendungen. Engine können Upgrades mithilfe der MCP-Kompatibilität (Model Context Protocol) direkt aus SageMaker Unified Studio oder der IDE ihrer Wahl initiieren. Während des Upgrade-Prozesses analysiert der Agent den vorhandenen Code und schlägt spezifische Änderungen vor, die Ingenieure vor der Implementierung überprüfen und genehmigen können. Der Agent überprüft die funktionale Korrektheit durch Datenqualitätsvalidierungen. Der Agent unterstützt derzeit Aktualisierungen von Spark 2.4 auf 3.5 und gewährleistet während des gesamten Aktualisierungsprozesses die Genauigkeit der Datenverarbeitung.
Anwendungsfälle
Verwenden und verarbeiten Sie Echtzeitdaten von Amazon Kinesis, Apache Kafka oder anderen Datenströmen mit Spark Streaming auf Amazon EMR. Führen Sie fehlertolerante Streaming-Analysen durch und schreiben Sie die Ergebnisse in S3 oder HDFS im Cluster.
Apache Spark für EMR umfasst MLlib für zahlreiche skalierbare Algorithmen für Machine Learning. Alternativ können Sie Ihre eigenen Bibliotheken verwenden. Spark bietet durch die Speicherung von Datensätzen im Arbeitsspeicher während eines Jobs eine hohe Performance bei iterativen Abfragen, die bei Workloads für Machine Learning häufig vorkommen. Sie können die Funktionen von Amazon SageMaker erweitern, indem Sie die Notebook-Instance an einen Apache-Spark-Cluster anschließen, der auf Amazon EMR ausgeführt wird, wobei Amazon SageMaker für einfaches Training und Hosten von Modellen sorgt.
Verwenden Sie Spark SQL für interaktive Abfragen mit niedriger Latenz mit SQL oder HiveQL. Spark für EMR kann EMRFS nutzen, sodass Sie Ad-hoc-Zugriff auf Ihre Datensätze in S3 erhalten. Außerdem können Sie EMR Studio, EMR-Notebooks, Zeppelin-Notebooks oder BI-Tools über ODBC- und JDBC-Verbindungen nutzen.
Kundenerfolgsgeschichten
Yelp
Das Team für gezielte Werbung von Yelp erstellt Prognosemodelle, um die Wahrscheinlichkeit zu ermitteln, mit der ein Benutzer auf eine Werbung reagiert. Durch die Verwendung von Apache Spark zusammen mit Amazon EMR zum Verarbeiten großer Datenmengen, um Modelle für Machine Learning zu trainieren, konnte Yelp den Umsatz steigern und die Klickraten bei Anzeigen verbessern.
The Washington Post
Die Washington Post verwendet Apache Spark zusammen mit Amazon EMR, um Modelle zu erstellen, die die Empfehlungs-Engine der Website unterstützen, um die Verbundenheit und Zufriedenheit der Leser zu verbessern. Die Zeitung verwendet die performante Konnektivität von Amazon EMR mit Amazon S3 zum Aktualisieren von Modellen nahezu in Echtzeit.
Krux
Krux verwendet Apache Spark als Teil der eigenen Datenverwaltungsplattform für Kundeneinblicke, um zahlreiche Workloads für Machine Learning und allgemeine Verarbeitung auszuführen. Krux verwendet kurzlebige Amazon-EMR-Cluster mit Amazon EC2 Spot Capacity, um Kosten zu sparen, und verwendet Amazon S3 mit EMRFS als Datenebene für Apache Spark.
GumGum
GumGum, eine Plattform für bild- und bildschirmintegrierte Werbung, verwendet Spark zusammen mit Amazon EMR zur Prognose des Inventars, der Verarbeitung von Click-Stream-Protokollen und der Ad-hoc-Analyse unstrukturierter Daten in Amazon S3. Die Performance-Verbesserungen durch Spark ermöglichten es GumGum, bei diesen Workflows Zeit und Geld zu sparen.
Hearst Corporation
Hearst Corporation, ein großes, breit aufgestelltes Medien- und Informationsunternehmen, hat Kunden, die Inhalte auf über 200 Internetpräsenzen ansehen. Mithilfe von Apache Spark Streaming zusammen mit Amazon EMR kann das Redaktionsteam von Hearst in Echtzeit verfolgen, welche Artikel gut ankommen und welche Themen im Trend liegen.
CrowdStrike
CrowdStrike bietet Schutz für Endpunkte, um Übergriffe zu vermeiden. Das Unternehmen verwendet Amazon EMR zusammen mit Spark, um mehrere Hundert Terabytes an Ereignisdaten zu verarbeiten und diese in Verhaltensbeschreibungen auf höherer Ebene auf den Hosts bereitzustellen. Anhand dieser Daten kann CrowdStrike Ereignisdaten zusammenfassen und bösartige Aktivitäten ermitteln.