Spark ist ein Framework für Cluster Computing, also ein Programmiergerüst für eine Gruppe von Rechnern. Es ist aus einem Forschungsprojekt an der Universität Berkeley entstanden. Seit 2010 ist es unter einer Open-Source Lizenz öffentlich verfügbar. Anschließend hat es die Apache Software Foundation übernommen, welche es seit 2013 weiterführt.

Im Grunde genommen ist es ein Allzweck-Tool zur Verarbeitung von großen Datenmengen (Big Data). Folglich setzt man es ein, um äußerst schnelle Datenabfragen bei großen Datenmengen auszuführen. Spark ist – ähnlich wie Hadoop – ein echtes Big Data Framework. Es bringt sehr viele Bibliotheken mit. Darüber hinaus ist es über die Programmiersprachen Java, Python, R und Scala ansprechbar.

Die Komponenten von Spark

Es besteht aus mehreren Einzelteilen:

  • Spark Core bildet die Grundlage des gesamten Projektes.
  • Spark SQL ist eine Komponente, mit der man auf Daten zugreifen so zugreifen kann, als ob sie in einer Datenbank gespeichert sind. Das erfolgt per SQL-Abfrage.
  • Spark Streaming ermöglicht die Verarbeitung von Datenströmen.
  • Die Machine Learning Library integriert maschinelles Lernen in das System.
  • GraphX ist ein Framework für die Berechnung auf Graphen.

Praktische Anwendung

Angewendet wird es unter anderem für:

  • Datenintegration
    Spark eignet sich sehr gut, um Daten aus unterschiedlichen System zu filtern, zu bereinigen und zusammenzuführen.
  • Interaktive Analyse
    Darüber hinaus bewährt sich das Framework ausgezeichnet zur interaktiven Analyse von großen Datenmengen. Dabei sind die zu beantwortenden Fragestellungen zum Beispiel, welche Quartalszahlen für bestimmte Vetriebsregionen vorliegen, wie hoch Produktionskapazitäten sind oder welche Lagerreichweite vorhanden ist.
  • Echtzeit-Analyse von Datenströmen
    Daten, die mehrere Systeme gleichzeitig generieren, führt es problemlos mit sehr hoher Geschwindigkeit zusammengeführt und analysiert sie.
    Beispielsweise nutzen Kreditkartenunternehmen diese Funktion, um Finanztransaktionen nahezu in Echtzeit zu analysieren und potenziellen Kreditkartenmissbrauch zu erkennen.
  • Maschinelles Lernen
    Maschinelles Lernen funktioniert besser, je mehr Daten einbezogen werden. Infolgedessen ist diese Rahmenstruktur eines der derzeit wichtigsten Machine Lerning Frameworks überhaupt.
    Die meisten Empfehlungssysteme – beispielsweise von Amazon – laufen auf Apache Spark.