第1章
Dagster初探
什么是Dagster?与Airflow、Prefect的对比,核心设计理念——软件定义资产,开启数据编排新思维。
概念对比
第2章
环境搭建
Python虚拟环境创建,Dagster库安装,项目脚手架初始化,Dagit UI启动,快速进入开发状态。
安装配置
第3章
第一个管道
理解Op与Job的概念,编写Hello World Op,组装成Job并在Dagit中可视化运行,迈出实战第一步。
入门Op
第4章
Op深入
Op的输入输出定义,使用@op装饰器,多输入/多输出Op,配置与上下文管理,提升Op灵活性。
进阶配置
第5章
Job与Graph
Job构建方式,Graph作为子图复用,@graph装饰器,执行配置详解,构建可复用的管道结构。
GraphJob
第6章
软件定义资产(SDA)核心
什么是软件定义资产?@asset装饰器,资产与Op的关系,上下游依赖定义,数据资产化核心实践。
SDA资产
第7章
资产依赖与分组
使用deps参数定义资产依赖,资产分组管理,AssetGroup的使用,构建清晰的数据血缘关系。
依赖分组
第8章
I/O管理器
内置FilesystemIOManager,自定义I/O管理器,实现数据持久化策略,掌控数据存储与加载。
IO持久化
第9章
资源(Resources)
资源的概念与用途,定义和使用数据库连接等资源,实现资源与Op的解耦,提升可维护性。
资源解耦
第10章
配置与运行配置
Op配置Config,Job运行配置RunConfig,使用Config类进行类型安全配置,灵活控制管道行为。
配置类型安全
第11章
分区(Partitions)
时间窗口分区与静态分区,分区资产定义,分区回填与回溯,高效处理增量数据场景。
分区增量
第12章
传感器(Sensors)
传感器概念,@sensor装饰器,基于外部事件如文件到达触发Job,实现事件驱动管道。
传感器事件
第13章
调度器(Schedules)
@schedule装饰器,Cron表达式调度,分区调度,调度与传感器结合,自动化管道运行。
调度Cron
第14章
元数据与日志
在Op中记录元数据,使用MetadataValue,自定义日志记录,在Dagit中查看运行详情。
元数据日志
第15章
测试与调试
单元测试Op与资产,使用dagster dev热重载,断点调试技巧,保障管道质量与开发效率。
测试调试
第16章
数据质量检查
在资产中添加数据质量检查,使用AssetCheck,失败时告警,确保数据可信与准确。
质量检查
第17章
动态Op与动态图
DynamicOut与DynamicOutput,处理动态数量的下游任务,灵活应对不确定数据流。
动态图
第18章
自定义类型与类型检查
Dagster类型系统,dagster_type,运行时类型检查,增强管道健壮性与可读性。
类型检查
第19章
管道监控与告警
Dagit UI监控,运行历史查看,集成Slack等外部告警系统,实时掌握管道状态。
监控告警
第20章
多环境部署
开发、测试、生产环境配置,使用ops和resources进行环境切换,实现平滑部署。
环境部署
第21章
Dagster与dbt集成
使用dagster-dbt库,将dbt模型作为资产管理,集成dbt测试,打通数据转换与编排。
dbt集成
第22章
Dagster与Spark集成
在Op中运行PySpark作业,Spark资源管理,上下文传递,实现大规模数据处理。
Spark大数据
第23章
Dagster与Airbyte/Fivetran集成
使用dagster-airbyte或dagster-fivetran,将ELT流程作为资产管理,简化数据集成。
ELT集成
第24章
Dagster与MLflow集成
在管道中记录实验参数、指标和模型,模型版本管理,实现MLOps与数据管道融合。
MLflowMLOps
第25章
Dagster与Great Expectations集成
数据验证资产,使用Great Expectations套件进行数据质量断言,确保数据符合预期。
验证GE
第26章
Dagster与Kubernetes
使用K8s执行器,在Kubernetes集群上运行Job,Pod配置与资源限制,云原生部署。
K8s云原生
第27章
Dagster与Docker
使用Docker执行器,自定义Docker镜像,在容器中运行Op,环境一致性与隔离。
Docker容器
第28章
Dagster Launchpad
使用Launchpad手动触发运行,配置参数化运行,运行标签管理,灵活控制执行。
Launchpad手动
第29章
Dagster最佳实践
项目结构组织,命名规范,错误处理模式,性能优化建议,打造生产级数据管道。
最佳实践优化
第30章
综合实战
构建端到端数据管道:数据摄取→清洗→转换→分析→报表,涵盖SDA、分区、调度、监控、测试。
实战全流程