Dagster est un orchestrateur de pipeline de données cloud natif pour l'ensemble du cycle de vie de développement, avec une traçabilité et une observabilité intégrées, un modèle de programmation déclaratif et une testabilité de premier ordre.
Il est conçu pour développer et gérer des actifs de données , tels que des tableaux, des ensembles de données, des modèles d'apprentissage automatique et des rapports.
Avec Dagster, vous déclarez, en tant que fonctions Python, les actifs de données que vous souhaitez créer. Dagster vous aide alors à exécuter vos fonctions au bon moment et à maintenir vos actifs à jour.
Voici un exemple de graphique de trois actifs définis en Python :
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
Le graphique chargé dans l'interface utilisateur Web de Dagster :
Dagster est conçu pour être utilisé à chaque étape du cycle de vie du développement des données : développement local, tests unitaires, tests d'intégration, environnements de test, jusqu'à la production.
Si vous êtes nouveau sur Dagster, nous vous recommandons de lire ses concepts de base ou d'apprendre avec le didacticiel pratique.
Dagster est disponible sur PyPI et prend officiellement en charge Python 3.9 jusqu'à Python 3.12.
pip install dagster dagster-webserver
Cela installe deux packages :
dagster
: Le modèle de programmation de base.dagster-webserver
: Le serveur qui héberge l'interface utilisateur Web de Dagster pour développer et exploiter les tâches et les actifs Dagster.Vous travaillez sur un Mac avec une puce de silicium Apple ? Vérifiez les détails de l'installation ici.
Vous pouvez trouver la documentation complète de Dagster ici, y compris le guide de démarrage.
Identifiez les actifs clés que vous devez créer à l’aide d’une approche déclarative, ou vous pouvez vous concentrer sur l’exécution de tâches de base. Adoptez les meilleures pratiques CI/CD dès le départ : créez des composants réutilisables, détectez les problèmes de qualité des données et signalez les bogues le plus tôt possible.
Mettez vos pipelines en production avec un moteur multi-tenant et multi-outils robuste qui évolue techniquement et organisationnellement.
Gardez le contrôle de vos données à mesure que la complexité évolue. Centralisez vos métadonnées dans un seul outil avec observabilité, diagnostics, catalogage et traçabilité intégrés. Repérez tout problème et identifiez les opportunités d’amélioration des performances.
Dagster fournit une bibliothèque croissante d'intégrations pour les outils de données les plus populaires d'aujourd'hui. Intégrez les outils que vous utilisez déjà et déployez-les sur votre infrastructure.
Connectez-vous avec des milliers d'autres praticiens des données qui construisent avec Dagster. Partagez vos connaissances, obtenez de l'aide et contribuez au projet open source. Pour voir le matériel présenté et les événements à venir, consultez notre page Communauté Dagster.
Rejoignez notre communauté ici :
Pour plus de détails sur la contribution ou l'exécution du projet pour le développement, consultez notre guide de contribution.
Dagster est sous licence Apache 2.0.