Deklarative Datenpipelines mit Apache Spark und Flowman
In der Big-Data-Welt ist Apache Spark als Werkzeug für skalierbare Datentransformation etabliert. Allerdings ist Spark keine fertige Applikation, sondern eben nur ein Framework, das immer noch einiges an Boilerplate-Code benötigt. Spark-Code ist im Vergleich zu SQL auch etwas schwerer zu verstehen. Das erschwert während der Entwicklung die Kommunikation mit weniger technisch versierten Stakeholdern. Aber genau dann ist eine Abstimmung auf sehr detaillierten Niveau essentiell.
In der Datenbankwelt ist dbt angetreten, um einige dieser Problem zu lösen, sodass die in SQL geschriebene Logik dabei im Mittelpunkt steht. In der Spark-Welt tritt nun das Open-Source-Werkzeug Flowman mit ähnlichen Konzepten an. Ziel ist mithilfe
eines rein deklarativen Ansatzes einen effizienten Entwicklungsworkflow zu etablieren, der ebenfalls den Fokus auf die Business-Logik lenkt und viele weitere wichtige technischen Aspekte wie Schema-Migrationen, Datenqualität und Dokumentation automatisiert. Es deckt auch weitere Themen wie interaktives Debugging, Unit-Tests und Ausführungsmetriken elegant ab.
In dem Vortrag werden die Leitgedankem eines deklarativen Entwicklungsansatzes für Datentransformationen anhand eines konkreten Projektes mit Flowman erläutert und die Vorteile gegenüber einer herkömmlichen Entwicklung von Anwendungen auf Basis von Apache Spark im Data-Engineering-Umfeld herausgestellt
Vorkenntnisse
- Interesse an skalierbaren und einfach zu wartenden Datenpipelines
- Grundkonzepte von Apache Spark sind hilfreich, aber nicht notwendig
Lernziele
- Kennenlernen einer spannenden Alternative zur Softwareentwicklung von skalierbaren Datenpipelines auf Basis von Apache Spark und Flowman