Veröffentlicht: 12. Juni 2025
von Michael Armbrust, Sandy Ryza, Denny Lee, James Malone und Matt Jones
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.
Durch die jahrelange Zusammenarbeit mit realen Spark-Benutzern haben wir festgestellt, dass bei der Erstellung von Produktionspipelines immer wieder die gleichen Herausforderungen auftreten:
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.
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 wurde im Hinblick auf Offenheit und Zusammensetzbarkeit entwickelt und bietet:
Und was am wichtigsten ist: Es ist durch und durch Apache Spark – keine Wrapper oder Black Boxes.
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

„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°

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
