Immer mehr Projekte setzen zur Implementierung ihrer Daten-Pipelines auf Apache Spark. Dessen DataFrame bzw. Dataset API ermöglicht die prägnante Formulierung selbst komplexer Pipelines. Die Anhebung des Abstraktionslevels dieser APIs versetzt Spark in die Lage, viele der Optimierungsschritte zu automatisieren, die in Technologien wie MapReduce manuell durchgeführt werden mussten. Dennoch ist bei der Entwicklung ein tieferes Verständnis der Engine unerlässlich, um Ursachen für das Auftreten von Problemen zu identifizieren und die Performance verschiedener Implementierungsalternativen abzuschätzen.
Dieser Vortrag richtet sich an Entwickler, die einen ausführlichen Einblick in die Arbeitsweise von Apache Spark erhalten möchten. Dazu werden die verschiedenen Stufen der Anfrageoptimierung und -ausführung von Spark schrittweise beschrieben und zugrunde liegende Techniken in Form von kurzen Exkursen erläutert.
Vorkenntnisse
Teilnehmer sollten mit den grundlegenden Konzepten von Apache Spark vertraut sein und erste praktische Erfahrungen mit dieser Technologie gesammelt haben.
Lernziele
* Arbeitsweise der Anfrageoptimierung und verteilten Ausführung in Apache Spark
* Operatoren der relationalen Algebra und deren Implementierung in Spark
* Interne Darstellung von DataFrames und Datasets
* Verständnis des Zusammenspiels zwischen den Spark-Komponenten Catalyst, Tungsten und Core
* Grundlagen der logischen Anfrageoptimierung
* Vorteile der DataFrame bzw. Dataset API gegenüber RDDs
* Neuerungen in Apache Spark 2.x
// Simon Kaltenbacher
arbeitet als Senior Data Engineer bei der Alexander Thamm GmbH in München. Dort berät er Kunden beim Aufbau von Datenplattformen und unterstützt sie bei der Implementierung von Daten-Pipelines. Er verfolgt das Apache-Spark-Projekt intensiv seit Version 0.9 und hat bereits mehrere Schulungen zu dieser Technologie gehalten.