Direkt zum Hauptinhalt

Deklarative Pipelines in das Open-Source-Projekt Apache Spark™ einbringen

Ein praxiserprobter, offener Standard für die Datentransformation

Bringing Declarative Pipelines to the Apache Spark™ Open Source Project

Veröffentlicht: 12. Juni 2025

Open-Source5 min Lesezeit

Summary

  • Wir spenden Declarative Pipelines – eine bewährte deklarative API für die Erstellung robuster Datenpipelines mit einem Bruchteil des Aufwands – an Apache Spark™.
  • Dieser Standard vereinfacht die Pipelineentwicklung für Batch- und Streaming-Workloads.
  • Jahrelange Praxiserfahrung haben diesen flexiblen, nativen Spark-Ansatz für Batch- und Streaming-Pipelines geprägt.

Apache Spark™ hat sich zum De-facto-Standard für die Big-Data-Verarbeitung entwickelt und unterstützt Workloads in einigen der größten Unternehmen der Welt. Im Laufe des letzten Jahrzehnts hat sich Apache Spark von einer leistungsstarken Allzweck-Compute-Engine zu einer wichtigen Schicht der Open Lakehouse Architecture entwickelt. Spark SQL, Structured Streaming, offene Tabellenformate und Unified Governance dienen als Säulen für moderne Datenplattformen.

Mit der kürzlichen Veröffentlichung von Apache Spark 4.0 setzt sich diese Entwicklung mit wichtigen Fortschritten in den Bereichen Streaming, Python, SQL und semistrukturierte Daten fort. Sie können hier mehr über die Veröffentlichung lesen.

Aufbauend auf dem starken Fundament von Apache Spark freuen wir uns, eine neue Ergänzung zu Open Source anzukündigen:

Wir spenden Declarative Pipelines – einen bewährten Standard für die Erstellung zuverlässiger, skalierbarer Datenpipelines – an Apache Spark.

Dieser Beitrag erweitert die deklarative Leistung von Apache Spark von einzelnen Abfragen auf vollständige Pipelines, sodass Benutzer definieren können, was ihre Pipeline tun soll, und Apache Spark herausfinden kann, wie es geht. Das Design basiert auf jahrelanger Beobachtung realer Apache Spark-Workloads und kodifiziert das, was wir gelernt haben, in einer deklarativen API, die die gängigsten Muster abdeckt – einschließlich Batch- und Streaming-Flows.

Dataflow Graph
Beispiel für einen Datenflussgraphen

Deklarative APIs machen ETL einfacher und wartungsfreundlicher

Durch die jahrelange Zusammenarbeit mit realen Spark-Benutzern haben wir festgestellt, dass bei der Erstellung von Produktionspipelines immer wieder die gleichen Herausforderungen auftreten:

  • Zu viel Zeit wird damit verbracht, Pipelines mit „Glue Code“ zu verbinden, um inkrementelle Datenerfassung zu verarbeiten oder zu entscheiden, wann Datensätze materialisiert werden sollen. Dies ist eine undifferenzierte, schwere Aufgabe, die jedes Team am Ende verwaltet, anstatt sich auf die zentrale Geschäftslogik zu konzentrieren.
  • Die gleichen Muster werden teamübergreifend neu implementiert, was zu Inkonsistenzen und operativem Overhead führt.
  • Es fehlt ein standardisiertes Framework für Tests, Lineage, CI/CD und Überwachung in großem Maßstab.

Bei Databricks haben wir begonnen, diese Herausforderungen anzugehen, indem wir gängige Engineering Best Practices in einem Produkt namens DLT kodifiziert haben. DLT verfolgte einen deklarativen Ansatz: Anstatt die gesamte Logik selbst zu verdrahten, geben Sie den Endzustand Ihrer Tabellen an, und die Engine kümmert sich um Dinge wie Dependency Mapping, Fehlerbehandlung, Checkpointing, Ausfälle und Wiederholungsversuche für Sie.

Das Ergebnis war ein großer Fortschritt in Bezug auf Produktivität, Zuverlässigkeit und Wartungsfreundlichkeit – insbesondere für Teams, die komplexe Produktionspipelines verwalten.

Seit der Einführung von DLT haben wir viel gelernt.

Wir haben gesehen, wo der deklarative Ansatz eine überproportionale Wirkung erzielen kann und wo Teams mehr Flexibilität und Kontrolle benötigten. Wir haben den Wert der Automatisierung komplexer Logik und Streaming-Orchestrierung erkannt, sowie die Bedeutung des Aufbaus auf offenen Spark-APIs, um Portabilität und Entwicklerfreiheit zu gewährleisten.

Diese Erfahrung hat eine neue Richtung vorgegeben: Ein erstklassiges, quelloffenes, Spark-natives Framework für die deklarative Pipeline-Entwicklung.

Von Abfragen zu End-to-End-Pipelines: Der nächste Schritt in der deklarativen Entwicklung von Spark

Apache Spark SQL hat die Abfrageausführung deklarativ gemacht: Anstatt Joins und Aggregationen mit Low-Level-RDD-Code zu implementieren, konnten Entwickler einfach SQL schreiben, um das gewünschte Ergebnis zu beschreiben, und Spark erledigte den Rest.

Spark Declarative Pipelines baut auf diesem Fundament auf und geht noch einen Schritt weiter, indem es das deklarative Modell über einzelne Abfragen hinaus auf vollständige Pipelines ausdehnt, die sich über mehrere Tabellen erstrecken. Jetzt können Entwickler definieren, welche Datensätze vorhanden sein sollen und wie sie abgeleitet werden, während Spark den optimalen Ausführungsplan bestimmt, Abhängigkeiten verwaltet und die inkrementelle Verarbeitung automatisch abwickelt.

Spark Declarative Pipelines in action
Spark Declarative Pipelines in Aktion

Spark Declarative Pipelines wurde im Hinblick auf Offenheit und Zusammensetzbarkeit entwickelt und bietet:

  • Deklarative APIs zum Definieren von Tabellen und Transformationen
  • Native Unterstützung für Batch- und Streaming-Datenflüsse
  • Datenbasierte Orchestrierung mit automatischer Abhängigkeitsverfolgung, Ausführungsreihenfolge und Backfill-Verarbeitung
  • Automatisches Checkpointing, Wiederholungsversuche und inkrementelle Verarbeitung für Streaming-Daten
  • Unterstützung für SQL und Python
  • Ausführungstransparenz mit vollem Zugriff auf zugrunde liegende Spark-Pläne

Und was am wichtigsten ist: Es ist durch und durch Apache Spark – keine Wrapper oder Black Boxes.

E-Book

Erste Schritte mit ETL

Ein neuer Standard, jetzt im Open Source

Dieser Beitrag steht für jahrelange Arbeit in Apache Spark, Delta Lake und der breiteren Open-Data-Community. Er ist inspiriert von dem, was wir beim Aufbau von DLT gelernt haben, aber so konzipiert, dass er flexibler, erweiterbarer und vollständig Open Source ist.

Und wir fangen gerade erst an. Wir tragen dies als gemeinsame Schicht bei, auf der das gesamte Apache Spark-Ökosystem aufbauen kann – egal, ob Sie Pipelines in Ihrer eigenen Plattform orchestrieren, domänenspezifische Abstraktionen erstellen oder direkt zu Spark selbst beitragen. Dieses Framework ist hier, um Sie zu unterstützen.

„Deklarative Pipelines verbergen die Komplexität des modernen Data Engineering unter einem einfachen, intuitiven Programmiermodell. Als Engineering Manager gefällt mir die Tatsache, dass sich meine Ingenieure auf das konzentrieren können, was für das Unternehmen am wichtigsten ist. Es ist aufregend zu sehen, dass dieses Maß an Innovation jetzt Open Source ist und noch mehr Teams zugänglich gemacht wird.“ – Jian (Miracle) Zhou, Senior Engineering Manager, Navy Federal Credit Union

Navy Federal Credit Union

„Bei 84.51 sind wir immer auf der Suche nach Möglichkeiten, unsere Datenpipelines einfacher zu erstellen und zu warten, insbesondere wenn wir uns in Richtung offenerer und flexiblerer Tools bewegen. Der deklarative Ansatz hat uns sehr geholfen, die Menge an Code zu reduzieren, die wir verwalten müssen, und er hat es uns erleichtert, sowohl Batch- als auch Streaming-Verarbeitung zu unterstützen, ohne separate Systeme zusammenzufügen zu müssen. Die Open-Sourcing dieses Frameworks als Spark Declarative Pipelines ist ein großer Schritt für die Spark-Community.“ – Brad Turnbaugh, Sr. Data Engineer, 84.51°

8451

Wie geht es weiter?

Weitere Informationen finden Sie in der Apache Spark-Dokumentation. In der Zwischenzeit können Sie das Jira und die Community-Diskussion zum Vorschlag einsehen.

Wenn Sie heute Pipelines mit Apache Spark erstellen, laden wir Sie ein, das deklarative Modell zu erkunden. Unser Ziel ist es, die Pipeline-Entwicklung für alle einfacher, zuverlässiger und kollaborativer zu gestalten.

Beim Lakehouse geht es um mehr als nur um offenen Speicher. Es geht um offene Formate, offene Engines – und jetzt um offene Muster für den Aufbau auf diesen.

Wir glauben, dass deklarative Pipelines zu einem neuen Standard für die Apache Spark-Entwicklung werden. Und wir freuen uns darauf, diese Zukunft gemeinsam mit der Community im Open Source aufzubauen.

(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag

Verpassen Sie keinen Beitrag von Databricks

Abonnieren Sie unseren Blog und erhalten Sie die neuesten Beiträge direkt in Ihren Posteingang.