Apache Spark 2.4: Barrier-Modus, neue Funktionen und Scala 2.12

Mit dem Barrier-Execution-Modus will das Framework für Cluster Computing die Arbeit mit Machine-Learning-Trainings einfacher gestalten.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Apache Spark 2.4: Barrier-Modus, neue Funktionen und Scala 2.12
Lesezeit: 2 Min.
Von
  • Björn Bohn

Databricks hat Version 2.4 des für Cluster Computing entwickelten Frameworks Apache Spark veröffentlicht – parallel zum ebenfalls erschienen Databricks Runtime 5.0. Das Abarbeiten von über 1000 Tickets ist in das neue Release eingeflossen. Größte Neuerungen sind ein Scheduler zur Unterstützung des Barrier-Modus, eine Reihe eingebauter Funktionen und Funktionen höherer Ordnung sowie experimenteller Support der Programmiersprache Scala 2.12.

Der Barrier-Execution-Modus ist Teil des Projekts Hydrogen, das zeitgemäße Big-Data- und KI-Anwendungen zusammenführen soll. Er ermöglicht das Einbetten verteilter Training-Jobs der KI-Frameworks als Spark Jobs. Die Aufgaben verwenden in der Regel komplexe Kommunikationsmuster wie All-Reduce, sodass die Tasks in derselben Zeit ablaufen müssen. Bislang unterstützte Apache Sparks MapReduce-Muster das nicht. Der neue Barrier-Execution-Modus bringt Spark dazu, alle Trainingsaufgaben zusammen zu starten und alle bei einem Fehler entsprechend neu zu starten. Darüber hinaus führt Spark 2.4 auch Fehlertoleranz für Barrier-Aufgaben ein.

Die neu eingeführten Funktionen können komplexe Typen (zum Beispiel Array Types) direkt manipulieren, während die neuen Funktionen höherer Ordnung beispielsweise die Werte anonymer Lambda-Funktionen verändern können. Bislang war dies nur über Umwege wie den Bau einer User Defined Function (UFD) möglich. Eine Reihe Codebeispiele zeigt die neuen Funktionen, die deutlich performanter sein sollen.

Darüber hinaus unterstützt Spark jetzt auf experimenteller Basis die Programmiersprache Scala in Version 2.12. Wer mit 2.12 arbeiten möchte, muss die entsprechende Apache-Spark-Abhängigkeit auswählen. Damit können Nutzer Spark-Applikationen mit Scala 2.12 schreiben. Scala 2.12 bietet neben einer besseren Interoperabilität mit Java 8 auch eine überarbeitete Serialisierung für Lambda-Funktionen.

Eine vollständige Liste der Neuerungen findet sich im Blogbeitrag von Databricks. Die Release Notes der Databricks Runtime 5.0 bieten weitere Informationen.

Update, 12.11.18: Fehlerhafte Bezeichnung "höhergradige Funktionen" zu "Funktionen höherer Ordnung" geändert. (bbo)