一、一句话定义:DolphinScheduler 是什么?
DolphinScheduler 是一个"任务管家"------它帮你把一堆有先后顺序、有依赖关系的任务,按照你指定的时间自动执行,并且随时告诉你任务跑到哪了、有没有出错。
你可以把它理解成手机上的闹钟 + 工厂流水线 + 监控摄像头的合体。
二、生活化类比
想象你在准备一场宿舍火锅派对:
| 步骤 | 任务 | 依赖关系 |
|---|---|---|
| ① 去超市买菜 | 买菜 | 无 |
| ② 洗菜 | 洗菜 | 必须等①完成 |
| ③ 切菜 | 切菜 | 必须等②完成 |
| ④ 烧水 | 烧水 | 可以和②③同时进行 |
| ⑤ 煮火锅 | 开吃! | 必须等③和④都完成 |
如果你一个人手动做,你会:
- 不停回头看:洗完没?切完没?水开了没?
- 万一洗菜洗到一半忘记了,全卡住
- 这些步骤谁先谁后全靠脑子记
DolphinScheduler 就是帮你自动管这些"谁先谁后、什么时候做、失败了怎么办"的工具。
它会:
- 📋 画出一张流程图(DAG)
- ⏰ 比如"每周五下午5点自动开始"
- ✅ 买菜完成 → 自动触发洗菜 + 烧水
- ❌ 洗菜失败 → 自动重试3次,还失败就发微信通知你
- 📊 随时打开网页,看到火锅派对进行到哪一步了
三、核心概念拆解
3.1 DAG(有向无环图)------ 任务关系图
[买菜] ← 起点
/ \
[洗菜] [烧水] ← 可以同时跑
\ /
[切菜] ← 等上面两个都完成
|
[煮火锅] ← 终点
- 有向:箭头有方向,只能从买菜→洗菜,不能反过来
- 无环:不能形成死循环,不能买菜→洗菜→又回去买菜
3.2 关键角色
| 角色 | 类比 | 职责 |
|---|---|---|
| MasterServer | 包工头 | 接收任务、分配任务、监控全局 |
| WorkerServer | 工人 | 真正干活的人 |
| ZooKeeper | 签到表 | 记录谁在线、谁请假了 |
| 数据库 | 工作日志本 | 记录所有任务的执行历史 |
3.3 去中心化架构(天生抗故障)
传统思路是"一人管一群"------班长倒了全班乱套。
DolphinScheduler 的思路是**"多包工头 + 多工人"**:
- Master 挂了?其他 Master 立刻接手
- Worker 挂了?任务自动分配给其他 Worker
- 可以随时增加或减少机器,不影响运行
四、与 DeerFlow 结合的意义------当 AI Agent 学会调度
回到文章《DeerFlow + DolphinScheduler:当 AI Agent 学会调度,一句"人话"就能跑通工作流》:
传统的使用方式:你要打开 DolphinScheduler 的网页,手动拖拽任务节点、配置参数、设置时间,这是"技术人员的活"。
结合 DeerFlow(AI Agent)后:你只需要说一句人话:
"帮我把昨天的销售数据清洗一下,然后生成报表,邮件发给王总。"
AI Agent 自动帮你:
- 理解你的意图
- 在 DolphinScheduler 中创建对应的工作流
- 配置好数据清洗→报表生成→邮件发送这一串任务
- 设定执行时间
- 一键启动
本质上是把"专业的调度工具"包装成了"会听人话的助手"。
五、应用场景(重点展开 🔥)
场景一:电商平台的"每日数据大扫除"
背景:某电商平台每天产生海量订单数据,需要凌晨处理。
DolphinScheduler 工作流(每天凌晨0点自动触发):
[凌晨00:00] 从数据库抽取昨天订单
↓
[00:15] 清洗垃圾数据(重复订单、测试订单)
↓
[00:30] 计算昨天销售额、客单价、退货率
↓ ↓
[01:00] 生成日报 [01:00] 更新数据仓库
↓ ↓
[02:00] 邮件发给运营总监
价值:
- 以前:运维小哥凌晨爬起来手工跑脚本,出错全部门等他一上午修
- 现在:全自动,每天早上总监醒来直接看报表
场景二:金融银行的"风控跑批"
背景:新网银行每天有海量贷款申请,需要跑上百个风控规则。
工作流示例(实时触发 + 定时批量):
用户提交贷款申请
↓
[实时] 黑名单检查(2秒内完成)
↓
[实时] 反欺诈模型评分
↓ (这里分批汇总)
[T+1凌晨] 批量跑征信报告
↓
[T+1凌晨] 批量计算风险评级
↓
[T+1凌晨] 生成授信建议 → 人工复核
价值:
- 实时任务秒级响应,离线批任务凌晨自动跑
- 某个风控模型挂了?自动重试,不影响其他模型
- 支持每天千万级任务量
场景三:医疗行业的"药物警戒数据处理"
背景:太美医疗需要处理全国各地上报的药物不良反应数据。
每日工作流:
[00:00] 从全国各大医院拉取原始数据
↓ ↓ ↓
[清洗A区] [清洗B区] [清洗C区] ← 并行处理
↓ ↓ ↓
[合并去重,匹配药品库]
↓
[按药品类别分类统计]
↓
[生成安全报告] → 药监局接口上报
↓
[异常信号预警] → 短信通知安全专家
价值:
- 多机房数据统一调度(跨南京、广州、苏州机房)
- 某些医疗机构数据晚到?任务自动等待,不丢数
- 敏感数据权限隔离,不同团队只能看自己的任务
场景四:通信运营商的多集群统一调度
背景:某通信公司有7个大数据集群分布在全国各地,网络不互通。
痛点的解决:
- DS 部署一个"总控中心",统一管理所有集群
- 同一个工作流里,任务A跑在内蒙集群,任务B跑在南京集群
- TLS 加密保证跨机房通信安全
- 运维只需一个网页入口,管理全国任务
场景五:AI/机器学习的"模型训练流水线"
每日训练流水线:
[08:00] 拉取昨日新标注数据
↓
[08:10] 数据预处理(清洗、归一化)
↓
[08:30] 特征工程(Spark集群计算)
↓
[09:00] 模型训练(GPU集群,跑2小时)
↓
[11:00] 模型评估(AUC、准确率)
↓
[达标?]──是→ [自动部署上线]
│
否→ [发送评估报告给算法工程师]
价值:
- 模型训练是个"慢活",DS 帮你盯全程,不用人守着
- 训练失败自动换一台机器重试
- 配合 DeerFlow 的 AI Agent → 工程师说"帮我训练一个新模型",全链路自动跑
场景六:传统企业的"定时报表发送"
这在各行各业都很普遍:
| 行业 | 定时任务示例 |
|---|---|
| 零售 | 每天早上8点发送昨日销售日报给店长群 |
| 物流 | 每2小时统计在途包裹数,异常自动预警 |
| 教育 | 每周一生成上周学生出勤统计,发班主任 |
| 政府 | 每月1号汇总上个月市民服务数据,上报省厅 |
六、一张图总结
┌─────────────────────────────────────────────┐
│ 用户说一句"人话" │
│ "帮我把销售数据跑一下,结果发邮件" │
└──────────────┬──────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ DeerFlow AI Agent(翻译员) │
│ 理解意图 → 拆解步骤 → 生成工作流定义 │
└──────────────┬──────────────────────────────┘
↓
┌─────────────────────────────────────────────┐
│ DolphinScheduler(流水线总监) │
│ │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │抽取 │→ │清洗 │→ │计算 │→ │报表 │ │
│ │数据 │ │数据 │ │指标 │ │发送 │ │
│ └─────┘ └─────┘ └─────┘ └─────┘ │
│ │
│ 自动重试 · 失败告警 · 状态监控 · 日志记录 │
└─────────────────────────────────────────────┘
七、总结
| 维度 | DolphinScheduler 解决什么 |
|---|---|
| 调度 | 什么时间自动跑,不用人守着 |
| 依赖 | A做完才能做B,顺序不乱 |
| 容错 | 失败了自动重试、换机器、发告警 |
| 可视化 | 一张图看清所有任务跑到哪了 |
| 扩展 | 从1台机器到100台,无缝扩容 |
| 与AI结合 | 配上 AI Agent,说人话就能创建复杂工作流 |
简单记住一句话:DolphinScheduler 就是给企业数据流水线装了一个"自动驾驶系统"。 而 DeerFlow 的加入,等于给它装上了"语音控制",你说去哪它就去哪。