Dagster ist ein Cloud-nativer Datenpipeline-Orchestrator für den gesamten Entwicklungslebenszyklus mit integrierter Herkunft und Beobachtbarkeit, einem deklarativen Programmiermodell und erstklassiger Testbarkeit.
Es ist für die Entwicklung und Pflege von Datenbeständen wie Tabellen, Datensätzen, Modellen für maschinelles Lernen und Berichten konzipiert.
Mit Dagster deklarieren Sie – als Python-Funktionen – die Datenbestände, die Sie erstellen möchten. Dagster hilft Ihnen dann, Ihre Funktionen zum richtigen Zeitpunkt auszuführen und Ihre Assets auf dem neuesten Stand zu halten.
Hier ist ein Beispiel für ein Diagramm mit drei in Python definierten Assets:
from dagster import asset
from pandas import DataFrame , read_html , get_dummies
from sklearn . linear_model import LinearRegression
@ asset
def country_populations () -> DataFrame :
df = read_html ( "https://tinyurl.com/mry64ebh" )[ 0 ]
df . columns = [ "country" , "pop2022" , "pop2023" , "change" , "continent" , "region" ]
df [ "change" ] = df [ "change" ]. str . rstrip ( "%" ). str . replace ( "−" , "-" ). astype ( "float" )
return df
@ asset
def continent_change_model ( country_populations : DataFrame ) -> LinearRegression :
data = country_populations . dropna ( subset = [ "change" ])
return LinearRegression (). fit ( get_dummies ( data [[ "continent" ]]), data [ "change" ])
@ asset
def continent_stats ( country_populations : DataFrame , continent_change_model : LinearRegression ) -> DataFrame :
result = country_populations . groupby ( "continent" ). sum ()
result [ "pop_change_factor" ] = continent_change_model . coef_
return result
Das in die Web-Benutzeroberfläche von Dagster geladene Diagramm:
Dagster ist für den Einsatz in jeder Phase des Datenentwicklungslebenszyklus konzipiert – lokale Entwicklung, Unit-Tests, Integrationstests, Staging-Umgebungen bis hin zur Produktion.
Wenn Sie neu bei Dagster sind, empfehlen wir Ihnen, sich über die Kernkonzepte zu informieren oder das praktische Tutorial zu nutzen.
Dagster ist auf PyPI verfügbar und unterstützt offiziell Python 3.9 bis Python 3.12.
pip install dagster dagster-webserver
Dadurch werden zwei Pakete installiert:
dagster
: Das Kernprogrammiermodell.dagster-webserver
: Der Server, der die Web-Benutzeroberfläche von Dagster zum Entwickeln und Betreiben von Dagster-Jobs und -Assets hostet.Läuft es auf einem Mac mit einem Apple-Siliziumchip? Überprüfen Sie hier die Installationsdetails.
Die vollständige Dagster-Dokumentation finden Sie hier, einschließlich der Anleitung „Erste Schritte“.
Identifizieren Sie mithilfe eines deklarativen Ansatzes die wichtigsten Assets, die Sie erstellen müssen, oder konzentrieren Sie sich auf die Ausführung grundlegender Aufgaben. Nutzen Sie CI/CD-Best Practices von Anfang an: Erstellen Sie wiederverwendbare Komponenten, erkennen Sie Datenqualitätsprobleme und melden Sie Fehler frühzeitig.
Bringen Sie Ihre Pipelines mit einer robusten mandantenfähigen Multitool-Engine in Produktion, die technisch und organisatorisch skaliert.
Behalten Sie die Kontrolle über Ihre Daten, auch wenn die Komplexität zunimmt. Zentralisieren Sie Ihre Metadaten in einem Tool mit integrierter Beobachtbarkeit, Diagnose, Katalogisierung und Herkunft. Erkennen Sie alle Probleme und identifizieren Sie Möglichkeiten zur Leistungsverbesserung.
Dagster bietet eine wachsende Bibliothek von Integrationen für die beliebtesten Datentools von heute. Integrieren Sie die Tools, die Sie bereits verwenden, und stellen Sie sie in Ihrer Infrastruktur bereit.
Vernetzen Sie sich mit Tausenden anderen Datenexperten, die mit Dagster arbeiten. Teilen Sie Wissen, erhalten Sie Hilfe und tragen Sie zum Open-Source-Projekt bei. Um ausgewähltes Material und bevorstehende Veranstaltungen zu sehen, schauen Sie sich unsere Dagster-Community-Seite an.
Treten Sie hier unserer Community bei:
Einzelheiten zum Mitwirken oder Ausführen des Projekts für die Entwicklung finden Sie in unserem Beitragsleitfaden.
Dagster ist Apache 2.0-lizenziert.