Dieser Artikel ist Teil unseres Guides: Big Data: Anwendung, Datenschutz und Technologie

Apache Spark 2.0 soll die Big-Data-Integration erleichtern

Apache Spark ist ein beliebtes Werkzeug zur Big-Data-Integration in Anwendungsarchitekturen. Apache Spark 2.0 bietet mehrere neue Features hierfür.

Apache Spark ist eine der beliebtesten Open-Source-Tools für die Integration von Big Data in moderne Anwendungsarchitekturen. Insgesamt unterstützen über 800 Entwickler und Analytics-Experten aus 200 Unternehmen das Projekt. Die Streaming Analytics Engine ermöglicht die Entwicklung neuer Algorithmen, die in produktive Cloud-basierte Anwendungen integriert werden können.

Noch diesen Sommer möchte Databricks Spark 2.0, die zweite große Version von Apache Spark, veröffentlichen. Eine technische Preview ist seit Mai 2016 verfügbar. Das neue Release soll insgesamt über 2.000 Patches enthalten. Matei Zaharia, CTO und Mitbegründer von Databricks, erläuterte auf dem Spark Summit Anfang Juni in San Francisco einige der neuen Technologien und Weiterentwicklungen, die in Apache Spark 2.0 integriert werden.

Der Erfolg des Spark-Projekts basiert auch auf dem Fokus, Big Data in die Anwendungsarchitektur zu integrieren. Damit ist es für die Implementierung eines Applikations-Lifecycles geeignet, der folgendes beinhaltet:

  1. Erforschung und Erzeugung von Big-Data-Algorithmen;
  2. deren Integration in Cloud-Anwendungen;
  3. deren Optimierung für skalierbare, produktive Anwendungen.

Die einheitliche Spark Engine erleichtert die Entwicklung von Anwendungen. Laut Zaharia kombinieren die meisten Anwender unterschiedliche Verarbeitungsmodelle. Die High-Level-APIs ermöglichen es Entwicklern, Systeme zu bauen und gleichzeitig verschiedene Arten von Analysen zu optimieren, die sich unter der Haube befinden. Die breit angelegte Integration ist wichtig, da auch die Daten breit gefächert sind.

Zu den Verbesserungen von Spark 2.0 gehören API-Optimierungen, strukturiertes Spark-Streaming, Machine Learning Model Export sowie der Support für SQL 2003 und Scala 2.12. Zudem gibt es neue Programmiersprachenanbindungen für C# und JavaScript. Die strukturierte API-Verbesserungen bieten der Engine mehr Informationen über Anwendungsdaten und ermöglichen deren Optimierung. SparkSession bietet einen neuen Einstiegspunkt für Daten. Structured Spark Streaming ist eine High-Level-Streaming API auf Basis der strukturierten Engine.

Machine Learning MLlib Model Export soll es erleichtern, Machine-Learning-Modelle in den Produktivbetrieb zu versetzen. Dabei gibt es vier große Ansätze – von Baidu, Yahoo!, der UC Berkeley und Databricks – für die Integration von selbstlernenden Systemen mit Apache Spark.

Strukturierte APIs für neue Anwendungsfälle

Die strukturierten APIs wurden entworfen, um mehr Informationen über Daten und die damit verbundenen Berechnungen zu erhalten. „Das wirklich Coole an strukturierten APIs ist, dass die Engine Daten in einer Weise optimiert, wie sich eine traditionelle Datenbank mit einem Auswertungsplan optimieren lässt“, sagt Zaharia.

Dies macht es einfacher, Prozesse wie Filtern, Einfügen und Verarbeiten als Teil der Datenverarbeitungs-Pipeline umher zu bewegen. Strukturiertes Streaming kann zum Beispiel Daten in einem Stream auf einem Server aggregieren. Dies erlaubt es, Anfragen während der Laufzeit zu ändern, die in Anwendungen und neuen Machine-Learning-Modellen wiedergegeben werden. Ein weiteres einzigartiges Kriterium strukturierten Streamings ist, dass eine Menge von Streaming APIs komplex sind. Strukturiertes Spark-Streaming erleichtert es, die Algorithmen anzupassen, um Sonderfälle zu verwalten oder Daten zu verarbeiten, die spät ankommen.

Apache Spark 2.0 ist außerdem besser darin, optimierten Code für die Laufzeit zu erzeugen. Ein statischer Code-Generator kann Code über mehrere Operatoren hinweg optimieren, was eine bis zu zehnfache Leistungssteigerung erreicht. Die Engine erreicht außerdem bis zu neunmal bessere Server-Caching-Mechanismen für die Output-Generierung.

Nutzen Sie die Vorteile fortlaufender Abfragen

Spark verarbeitet Abfragen in einem Batch-Modus. Dies können sehr kleine Stapel sein, was der Spark Enginge die Fähigkeit verleiht, leistungsstark zu streamen. Das traditionelle Programmiermodell von Spark war es, eine Abfrage in einem definierten Fenster auszuführen. Ein neues Feature in Spark 2.0 erlaubt es Programmierern, ein virtuelles offenes Fenster zu implementieren, um mehr interaktive Programmierkonstrukte zu unterstützen.

Mehr zum Thema Apache Spark:

MapR bringt eigene Apache-Spark-Distribution auf den Markt.

MapReduce versus Spark: Wer macht das Rennen in der Cloud?

Kostenloses E-Handbook: Datenanalyse und Daten-Management mit Apache Spark.

Spark versus MapReduce: Welchen Weg soll die Enterprise-IT gehen?

Hype versus Realität: Was kann Apache Spark wirklich leisten?

Spark 1.X bot Data Frames, die eine endliche Datenmenge bearbeiten konnten. Spark 2.0 führt Data Frames ein, die eine unendliche Menge von Daten verarbeiten können. Dies macht es leichter, Algorithmen zu implementieren, die durchschnittliche Berechnungen ausführen. Wenn neue Daten ankommen, wandelt die Engine diese mit Hilfe eines inkrementellen Plans um. Zum Beispiel könnte ein Entwickler einen Batch-Job haben, der Daten von Amazon S3 in SQL lädt. Kommen neue Daten hinzu, könnten die Jobs automatisch die Daten in SQL-Dateien umwandeln. „Das ist eine tolle Option, da man sich nicht zu viel um die Daten kümmern muss, da Spark sich darum kümmert“, sagt Zaharia.

Databricks hat ebenfalls eine neue Initiative für Entwickler und Unternehmen gestartet, um Spark-Entwicklungsfähigkeiten zu kultivieren. Ein wesentlicher Bestandteil davon ist die Veröffentlichung der Databricks Community Edition. Diese enthält Apache Spark, Data Science Tools, Libraries sowie Visualisierungs- und Debugging-Tools. Es nutzt außerdem das Konzept interaktiver Notebooks, mit denen es einfacher sein soll, Informationen über Datenmodelle, Algorithmen und Anwendungsfälle zu teilen.

Entwickler können die Community Edition verwenden, um eigene Notebooks innerhalb von Enterprise oder Public Notebooks zu erstellen und diese anschließend mit einer größeren Entwicklergemeinschaft zu teilen. Die Plattform wird außerdem als Teil fünf umfangreicher Online-Kurse angeboten.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Juli 2016 aktualisiert

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close