Dagster é um orquestrador de pipeline de dados nativo da nuvem para todo o ciclo de vida de desenvolvimento, com linhagem e observabilidade integradas, um modelo de programação declarativo e a melhor testabilidade da categoria.
Ele foi projetado para desenvolver e manter ativos de dados , como tabelas, conjuntos de dados, modelos de aprendizado de máquina e relatórios.
Com o Dagster, você declara – como funções Python – os ativos de dados que deseja construir. O Dagster ajuda você a executar suas funções no momento certo e a manter seus ativos atualizados.
Aqui está um exemplo de gráfico de três ativos definidos em 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
O gráfico carregado na interface da web do Dagster:
O Dagster foi desenvolvido para ser usado em todos os estágios do ciclo de vida de desenvolvimento de dados - desenvolvimento local, testes unitários, testes de integração, ambientes de teste, até a produção.
Se você é novo no Dagster, recomendamos ler sobre seus conceitos básicos ou aprender com o tutorial prático.
O Dagster está disponível no PyPI e oferece suporte oficial ao Python 3.9 até o Python 3.12.
pip install dagster dagster-webserver
Isso instala dois pacotes:
dagster
: O modelo de programação central.dagster-webserver
: O servidor que hospeda a UI da web do Dagster para desenvolver e operar trabalhos e ativos do Dagster.Rodando em um Mac com chip de silício da Apple? Verifique os detalhes da instalação aqui.
Você pode encontrar a documentação completa do Dagster aqui, incluindo o guia de primeiros passos.
Identifique os principais ativos que você precisa criar usando uma abordagem declarativa ou concentre-se na execução de tarefas básicas. Adote as práticas recomendadas de CI/CD desde o início: crie componentes reutilizáveis, identifique problemas de qualidade de dados e sinalize bugs antecipadamente.
Coloque seus pipelines em produção com um mecanismo robusto, multilocatário e multiferramentas que pode ser dimensionado técnica e organizacionalmente.
Mantenha o controle sobre seus dados à medida que a complexidade aumenta. Centralize seus metadados em uma ferramenta com observabilidade, diagnóstico, catalogação e linhagem integrados. Identifique quaisquer problemas e identifique oportunidades de melhoria de desempenho.
O Dagster fornece uma biblioteca crescente de integrações para as ferramentas de dados mais populares da atualidade. Integre-se com as ferramentas que você já usa e implante em sua infraestrutura.
Conecte-se com milhares de outros profissionais de dados que estão construindo com o Dagster. Compartilhe conhecimento, obtenha ajuda e contribua para o projeto de código aberto. Para ver o material em destaque e os próximos eventos, confira nossa página da Comunidade Dagster.
Junte-se à nossa comunidade aqui:
Para obter detalhes sobre como contribuir ou executar o projeto para desenvolvimento, confira nosso guia de contribuição.
Dagster é licenciado pelo Apache 2.0.