Dagster — это облачный оркестратор конвейера данных для всего жизненного цикла разработки с интегрированным происхождением и наблюдаемостью, моделью декларативного программирования и лучшими в своем классе возможностями тестирования.
Он предназначен для разработки и поддержки активов данных , таких как таблицы, наборы данных, модели машинного обучения и отчеты.
С помощью Dagster вы объявляете — как функции Python — активы данных, которые хотите создать. Затем Dagster поможет вам запускать ваши функции в нужное время и поддерживать актуальность ваших активов.
Вот пример графика трех активов, определенных в 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
График загружен в веб-интерфейс Dagster:
Dagster создан для использования на каждом этапе жизненного цикла разработки данных — локальной разработки, модульных тестов, интеграционных тестов, промежуточных сред и вплоть до производства.
Если вы новичок в Dagster, мы рекомендуем прочитать о его основных концепциях или изучить практическое руководство.
Dagster доступен на PyPI и официально поддерживает Python 3.9–Python 3.12.
pip install dagster dagster-webserver
При этом устанавливаются два пакета:
dagster
: основная модель программирования.dagster-webserver
: сервер, на котором размещен веб-интерфейс Dagster для разработки и эксплуатации заданий и ресурсов Dagster.Работаете на Mac с кремниевым чипом Apple? Подробности установки см. здесь.
Здесь вы можете найти полную документацию по Dagster, включая руководство по началу работы.
Определите ключевые активы, которые вам необходимо создать, используя декларативный подход, или вы можете сосредоточиться на выполнении базовых задач. Используйте лучшие практики CI/CD с самого начала: создавайте повторно используемые компоненты, выявляйте проблемы с качеством данных и заранее отмечайте ошибки.
Запустите свои конвейеры в эксплуатацию с помощью надежного многопользовательского и многофункционального механизма, который масштабируется технически и организационно.
Сохраняйте контроль над своими данными по мере увеличения сложности. Централизуйте свои метаданные в одном инструменте со встроенными функциями наблюдения, диагностики, каталогизации и происхождения. Выявите любые проблемы и определите возможности повышения производительности.
Dagster предоставляет растущую библиотеку интеграций для самых популярных на сегодняшний день инструментов обработки данных. Интегрируйтесь с инструментами, которые вы уже используете, и развертывайте в своей инфраструктуре.
Общайтесь с тысячами других специалистов по обработке данных, работающих с Dagster. Делитесь знаниями, получайте помощь и вносите свой вклад в проект с открытым исходным кодом. Чтобы просмотреть избранные материалы и предстоящие мероприятия, посетите нашу страницу сообщества Dagster.
Присоединяйтесь к нашему сообществу здесь:
Подробную информацию о содействии или запуске проекта в целях разработки можно найти в нашем руководстве по участию.
Dagster имеет лицензию Apache 2.0.