Apache Spark – Echtzeit- und SQL-Fähigkeit für Big Data Hadoop-Beschleuniger Spark 1.3 mit neuer DataFrame API
Anbieter zum Thema
Version 1.3 von Apache Spark, dem In-Memory Framework zur Echtzeitanalyse, bietet ein neues DataFrame API und eine stabile SparkSQL-Komponente.

Databricks, das Unternehmen hinter dem Hadoop- und Big-Data-Echtzeitanalyse-Framework Apache Spark, hat mit der Version 1.3 das nunmehr vierte Update für Spark 1.x veröffentlicht. Nach Aussage der Entwickler enthält Spark 1.3 mehr als 1.000 Patches. Herausragend an der neuen Version sind das neue DataFrame API und der Umstand, dass die Spark-SQL-Komponente ab sofort nicht mehr im Alpha-Stadium ist.
Apache Spark wird immer populärer
Das Open-Source-Framework Apache Spark macht aus einer gewöhnlichen Hadoop-Umgebung, in der der MapReduce-Algorithmus ausschließlich im Batch-Modus (auf Basis von Festplatten) zum Einsatz kommt, ein vollständig interaktives, verteiltes In-Memory Framework. Spark ist seit Februar 2014 Jahres ein Top-Level-Projekt der Apache Software Foundation. Nachdem Cloudera kurz nach dem Verlassen des Inkubator-Status einen kommerziellen Support für Spark in sein Portfolio aufnahm, integrierte auch das US-Unternehmen MapR Technologies Spark in seine Hadoop-Distribution.
Auch unter Entwicklern wird Apache Spark einer Anfang des Jahres von Typesafe durchgeführten Studie – Typesafe ist das Unternehmen hinter der Programmiersprache Scala – zunehmend beliebter. Vor allem wenn es um Performance und Echtzeitfähigkeit geht, läuft Apache Spark Hadoop künftig den Rang ab, denn mit Spark laufen Big-Data-Anwendungen im Speicher und damit bis zu 100-mal schneller als mit Hadoop MapReduce. Sogar mit Festplatten ist eine Spark-Umgebung immer noch bis zu zehnmal schneller, als eine Hadoop-Echtzeit-Engine. Spark kann auf eine bestehende Hadoop-Umgebung aufsetzen, wird aber zunehmend auch als Standalone-Anwendung eingesetzt.
DataFrame API
Das neue DataFrame API vereinfacht und beschleunigt in Zusammenarbeit mit der SQL-Komponente von Spark das Verarbeiten strukturierter Datensätze, wobei die verwendeten „DataFrames“ eine Weiterentwicklung des eigenen RDD-Modells sind. Das Konzept der DataFrames findet sich auch in Pandas und R. Im Gegensatz zu einer gewöhnlichen Matrix lassen sich in DataFrames Objekte unterschiedlicher Klassen zusammenfassen. Das Konzept ist Teil der APIs von Scala, Java und Python und soll künftig auch offiziell zur R-API gehören. In Spark ist das Konzept vollständig interoperabel mit jenem in R, Scala oder Python. In Spark können DataFrames mithilfe von Spark SQL dafür sorgen, das physische Ausführen von Operationen so zu planen, dass es auch bei großen Datensätzen optimal läuft.
Spark SQL
Die SQL-Komponente erlaubt allgemein den Umgang mit strukturierten Daten in Hadoop. In Spark 1.3 kann die SQL-Komponente beispielsweise Tabellen aus einer JDBC-Verbindung lesen und schreiben und soll laut Databricks PostgreSQL, MySQL und andere relationale Datenbankmanagementsysteme nativ unterstützen. Da zudem die Data Source API der Spark-SQL-Komponente jetzt mit dem neuen DataFrame-Modell umgehen kann, lassen sich beispielsweise auch DataFrames aus Hive-Tabellen oder Parquet-Dateien erstellen.
Auch bei der Machine-Learning-Bibliothek MLlib gab es Verbesserungen, etwa bei den Algorithmen. Eine vollständige Übersicht weiterer Neuerungen findet sich in der Veröffentlichungsmitteilung.
(ID:43267068)