Dagster es un orquestador de canalización de datos nativo de la nube para todo el ciclo de vida de desarrollo, con linaje y observabilidad integrados, un modelo de programación declarativa y la mejor capacidad de prueba de su clase.
Está diseñado para desarrollar y mantener activos de datos , como tablas, conjuntos de datos, modelos de aprendizaje automático e informes.
Con Dagster, usted declara, como funciona Python, los activos de datos que desea crear. Luego, Dagster lo ayuda a ejecutar sus funciones en el momento adecuado y a mantener sus activos actualizados.
A continuación se muestra un ejemplo de un gráfico de tres activos definidos 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
El gráfico cargado en la interfaz de usuario web de Dagster:
Dagster está diseñado para usarse en cada etapa del ciclo de vida del desarrollo de datos: desarrollo local, pruebas unitarias, pruebas de integración, entornos de prueba, hasta llegar a la producción.
Si es nuevo en Dagster, le recomendamos leer sobre sus conceptos básicos o aprender con el tutorial práctico.
Dagster está disponible en PyPI y es compatible oficialmente con Python 3.9 hasta Python 3.12.
pip install dagster dagster-webserver
Esto instala dos paquetes:
dagster
: El modelo de programación central.dagster-webserver
: el servidor que aloja la interfaz de usuario web de Dagster para desarrollar y operar trabajos y activos de Dagster.¿Se ejecuta en una Mac con un chip de silicona de Apple? Consulte los detalles de instalación aquí.
Puede encontrar la documentación completa de Dagster aquí, incluida la guía de introducción.
Identifique los activos clave que necesita crear utilizando un enfoque declarativo, o puede concentrarse en ejecutar tareas básicas. Adopte las mejores prácticas de CI/CD desde el principio: cree componentes reutilizables, detecte problemas de calidad de los datos y señale errores con antelación.
Ponga sus canalizaciones en producción con un robusto motor multiinquilino y multiherramienta que escala técnica y organizativamente.
Mantenga el control sobre sus datos a medida que aumenta la complejidad. Centralice sus metadatos en una herramienta con observabilidad, diagnóstico, catalogación y linaje integrados. Detecte cualquier problema e identifique oportunidades de mejora del rendimiento.
Dagster proporciona una biblioteca cada vez mayor de integraciones para las herramientas de datos más populares de la actualidad. Integre con las herramientas que ya utiliza e impleméntelas en su infraestructura.
Conéctese con miles de otros profesionales de datos que construyen con Dagster. Comparta conocimientos, obtenga ayuda y contribuya al proyecto de código abierto. Para ver el material destacado y los próximos eventos, consulte nuestra página de la Comunidad Dagster.
Únete a nuestra comunidad aquí:
Para obtener detalles sobre cómo contribuir o ejecutar el proyecto para su desarrollo, consulte nuestra guía de contribución.
Dagster tiene licencia Apache 2.0.