- Встроенная модель активов Software-defined assets (SDA)
Dagster позволяет описывать данные как активы (@asset), что позволяет поддерживать декларативную структуру пайплайна, основанную на данных, а не на задачах, автоматически строить граф зависимостей и отслеживать состояния и повторный запуск только устаревших активов
- Встроенное отслеживание происхождения данных (Data Lineage)
Dagster автоматически строит граф зависимостей между активами, включая входы и выходы каждой функции, цепочки зависимости таблиц и моделей, визуализацию data lineage в интерфейсе Dagit. Происхождение данных сохраняется для каждого запуска и доступно через API и UI, что особенно важно в проектах DWH, где нужно понимать, откуда берутся бизнес-метрики и какие данные устарели
- Встроенные проверки качества данных (Data Validation / Expectations)
Dagster поддерживает собственные механизмы валидации на уровне @asset или @op, интеграцию с Dagster expectations, где можно задавать условия, которые должны выполняться (например, «таблица не пуста», «все значения > 0»), нативную интеграцию с Great Expectations, если требуется расширенная валидация. Результаты проверок логируются, визуализируются и могут влиять на состояние активов (например, актив может отмечаться как невалидный).
- Полноценная интеграция с dbt
Dagster имеет официальный интеграционный модуль для dbt, который автоматически импортирует dbt-модели как активы Dagster, отслеживает статус каждой модели, позволяет запускать только те модели, которые требуют обновления. Модуль работает как с dbt CLI, так и с dbt Cloud.
- Наблюдаемость и детализация всех компонентов
Dagster предлагает структурированный журнал событий для мониторинга, графов, логов, артефактов и истории запусков, встроенную визуализацию зависимостей между ops, assets, partitions, легкий просмотр всех ресурсов, подключений, конфигураций. Архитектура Dagster построена так, что все вычисления прозрачны, и можно отследить, какие данные созданы, кем и когда.
- Поддержка версионирования и воспроизводимости (Versioning)
Dagster позволяет назначать версию активам и ops (на основе кода и входных данных), отслеживать изменения кода, влияющие на выходы, пересчитывать только те части пайплайна, где изменилась логика и повторно выполнять исторические пайплайны с теми же параметрами и окружением.
- Инфраструктурная гибкость и Dev-friendly среда
Решение поддерживает local, Celery, Kubernetes, Docker, Dask executors, а также конфиги и шаблоны для среды исполнения (@config, RunConfig). Механизм IOManager позволяет управлять сохранением артефактов из хранилищ (S3, DB, файловая система и т.д.)