Apache Spark

Apache Spark ist eine blitzschnelle Unified Analytics-Engine, mit der die Arbeit mit Big Data und Machine Learning wesentlich erleichtert wird. Das Framework der Engine wurde 2009 an der UC Berkeley entwickelt.

Das größte Open-Source-Projekt in der Geschichte der Datenverarbeitung

Seit ihrer Freigabe hat die Unified Analytics-Engine Apache Spark, Einzug in Unternehmen der unterschiedlichsten Branchen gehalten. Online-Riesen, wie Netflix, Yahoo und eBay, haben Spark in massivem Umfang bereitgestellt. Gemeinschaftlich haben sie bereits mehrere Petabyte an Daten auf Clustern mit mehr als 8.000 Knoten verarbeitet. Rasch hat sich das Projekt zur größten Open-Source-Community im Big Data-Bereich entwickelt – mit über 1.000 aktiv beitragenden Entwicklern aus mehr als 250 Unternehmen und Organisationen.
Spark – Apache Spark

Dasselbe Team, dass das Forschungsprojekt ursprünglich ins Leben gerufen hatte, gründete 2013 Databricks.

Apache Spark ist zu 100 Prozent Open Source. Gehostet wird es bei der anbieterunabhängigen Apache Software Foundation. Databricks setzt sich für die Aufrechterhaltung dieses offenen Entwicklungsmodells ein. Gemeinsam mit der Spark-Community leistet Databricks deshalb auch weiterhin einen großen Beitrag zum Apache Spark-Projekt.


Das Ökosystem von Apache Spark

Spark SQL + DataFrames

Strukturierte Daten: Spark SQL

Data Scientists, Data Analysts und Nutzer geschäftlicher Daten verlassen sich für Datenuntersuchungen auf interaktive SQL-Abfragen. Spark SQL ist ein Spark-Modul zur Verarbeitung von strukturierten Daten. Es bietet eine Abstraktion in der Programmierung namens DataFrames und kann auch als verteilte SQL-Abfrage-Engine verwendet werden. So können unveränderte Hadoop Hive-Abfragen auf vorhandenen Bereitstellungen und Daten bis zu 100-mal schneller ausgeführt werden. Außerdem ist sie gut in das übrige Spark-Ökosystem integriert (so kann sie die Verarbeitung von SQL-Abfragen in Machine Learning integrieren).

Streaming

Streaming-Analysen: Spark Streaming

Viele Anwendungen müssen nicht nur Batch-Daten verarbeiten und analysieren können, sondern auch Streaming-Daten – in Echtzeit. Spark Streaming läuft auf Spark und ermöglicht leistungsstarke interaktive und analytische Anwendungen, sowohl für Streaming-Daten als auch für historische Daten. Dabei werden die anwenderfreundlichen und fehlertoleranten Eigenschaften von Spark beibehalten. Die Lösung lässt sich leicht in eine Vielzahl von beliebten Datenquellen integrieren, wie HDFS, Flume, Kafka oder Twitter.

MLlib Machine Learning

Machine Learning: MLlib

Machine Learning ist ein entscheidender Faktor bei der Nutzbarmachung von Big Data zur Erzeugung prozessfähiger Erkenntnisse. MLlib basiert auf Spark und ist eine skalierbare Machine Learning-Bibliothek, die neben qualitativ hochwertigen Algorithmen (zum Beispiel mehrere Durchläufe, um eine höhere Genauigkeit zu erzielen) auch eine erhebliche Geschwindigkeit bietet (bis zu 100-mal schneller als MapReduce). Die Bibliothek kann in Java, Scala und Python als Teil von Spark-Anwendungen genutzt werden, sodass sie in komplette Workflows eingefügt werden kann.

GraphX Diagramm-berechnung

Diagrammberechnung: GraphX

GraphX ist eine Spark-basierte Engine zur Diagrammberechnung, die ihren Anwendern die Möglichkeit bietet, interaktiv strukturierte Diagrammdaten in großem Umfang zu erstellen, umzuwandeln und auszuwerten. Die Engine enthält eine Bibliothek mit häufig verwendeten Algorithmen.

Spark Core-API

Allgemeine Ausführung: Spark Core

Spark Core ist die der Spark-Plattform zugrunde liegende Engine, auf der alle anderen Funktionen aufbauen. Die Engine bietet In-Memory-Berechnungsmöglichkeiten für mehr Geschwindigkeit, ein allgemeines Ausführungsmodell zur Unterstützung einer Vielzahl unterschiedlicher Anwendungen, sowie Java-, Scala-, und Python-APIs um die Entwicklung zu vereinfachen.

R
SQL
Python
Scala
Java

Was ist Apache Spark? – Vorteile von Apache Spark

Geschwindigkeit

Spark wurde entwickelt, um eine möglichst gute Performance gewährleisten zu können. Selbst riesige Datenmengen können mit der Engine 100-mal schneller verarbeitet werden, als mit Hadoop. Dafür sorgen In-Memory-Berechnungen und weitere Optimierungen. Spark ist auch schnell, wenn die Daten auf Festplatten gespeichert werden. Derzeit hält es den Weltrekord im Sortieren von umfangreichen Datenmengen auf Festplatten.

Anwenderfreundlichkeit

Spark besitzt anwenderfreundliche APIs für den Betrieb umfangreicher Datenmengen. Hierzu zählt auch eine Sammlung aus über 100 Operatoren für die Umwandlung von Daten und bekannten Data Frame-APIs zur Bearbeitung von semi-strukturierten Daten.

Eine einheitliche Engine

Spark wird mit vielen höherrangigen Bibliotheken geliefert, darunter Support für SQL-Abfragen, Streaming-Daten, Machine Learning und Diagrammverarbeitung. Diese Standardbibliotheken steigern die Produktivität der Entwickler und können nahtlos kombiniert werden, um komplexe Workflows zu erstellen.

Testen Sie Apache Spark kostenlos in der Databricks-Cloud

Die Databricks Unified Analytics-Plattform bietet die 5-fache Performance der Open Source-Variante von Spark, gemeinschaftlich nutzbare Notebooks, integrierte Workflows und Sicherheit auf Enterprise-Niveau – dies alles, auf einer vollständig verwalteten Cloud-Plattform.

Databricks testen

Das Open-Source-Apache Spark-Projekt kann hier heruntergeladen werden