工作流编排
OpenDataWorks 提供了可视化的工作流开发设计器,支持任务节点依赖关系(DAG)配置、变更版本控制、发布审批流管理、历史数据回填(补数据)以及 DolphinScheduler 工作流的反向导入。
1. 任务开发与依赖设计
在「工作流设计器」画布中,您可以通过可视化方式构建复杂的数据任务流:
- 任务节点开发:
- SQL 任务:指定数据源(如 Doris、MySQL),编写 SQL 查询或写入逻辑。系统会自动解析 SQL 提取依赖的输入输出表,并反馈给血缘拓扑。
- Shell 任务:编写自定义的 Shell 脚本以完成数据同步或系统指令执行。
- 配置依赖连线:在画布上将两个任务节点进行拖拽连线,即可确立它们的先后依赖顺序。调度引擎会自动根据 DAG 拓扑顺序推进执行。
2. 版本比对与回滚管理 (Versions)
为了防止多人协同开发时的代码冲突或误操作导致运行崩溃,系统为每个工作流引入了历史版本机制:
- 版本差异比对:在「版本历史」列表中,您可以选择任意两个历史发布版本进行差异化比对。系统会以直观的连线及文本差异对比形式展示拓扑连线变动和节点 SQL 内容的修改细节。
- 一键版本回滚:如果新上线的版本在运行中遇到异常,开发人员可以在版本列表中选中任一历史正常的版本,点击“回滚”。系统会安全地将当前工作区恢复至该历史版本。
3. 发布审批协同流 (Publish & Approval)
生产环境的运行任务必须具备稳定性。为此,工作流变更需要经过规范的发布审批:
- 草稿开发中:日常对工作流拓扑、SQL 语句的修改均只保存在您的草稿箱中,不会影响当前生产调度引擎中正在运行的任务。
- 提交发布申请:开发完成后,点击“发布”。系统会弹窗展示**“发布预览差异”**,清晰显示本次修改对比生产运行版本的不同(如删除了哪些依赖,修改了哪些 SQL)。确认无误后填写发布说明并提交。
- 管理人员审批:项目管理员/经理在「发布审批」控制台审查发布差异。点击“同意”后,系统会自动将工作流最新的草稿同步并替换调度引擎中的定义,并使其重新上线。
4. 立即运行与历史补数据 (Run & Backfill)
在工作流列表中,您可以通过以下方式触发执行:
- 单次立即执行:用于开发调试。点击“立即执行”,系统会向调度引擎发起单次测试请求,并在前台以 Gantt 图或列表日志的形式,实时同步展示各个任务节点的运行进度与成功/失败日志。
- 历史日期补数据 (Backfill):当上游由于延迟漏数或计算规则修改需要重算历史数据时,您可以使用“补数据”功能:
- 选择需要重算的工作流。
- 指定历史日期区间。
- 配置并发度(如选择多个日期并行计算或串行计算)。
- 确认后系统会自动在调度引擎中批量拉起对应日期的历史运行实例。
5. 既有调度反向导入 (Import)
对于已经在 Apache DolphinScheduler 中运行的项目,您无需在 OpenDataWorks 中重新配置:
- 点击「导入 Dolphin 任务」,选择您的调度项目。
- 系统会自动列出该项目下所有的 DolphinScheduler 工作流。
- 点击“导入预览”,系统会分析其 DAG 的依赖关系及节点定义。
- 确认导入后,系统会一键将该拓扑及其节点自动同步生成本地的工作流与元数据,无缝接管其调度状态监控。