Skip to content

工作流编排

OpenDataWorks 提供了可视化的工作流开发设计器,支持任务节点依赖关系(DAG)配置、变更版本控制、发布审批流管理、历史数据回填(补数据)以及 DolphinScheduler 工作流的反向导入。


1. 任务开发与依赖设计

在「工作流设计器」画布中,您可以通过可视化方式构建复杂的数据任务流:

  • 任务节点开发
    • SQL 任务:指定数据源(如 Doris、MySQL),编写 SQL 查询或写入逻辑。系统会自动解析 SQL 提取依赖的输入输出表,并反馈给血缘拓扑。
    • Shell 任务:编写自定义的 Shell 脚本以完成数据同步或系统指令执行。
  • 配置依赖连线:在画布上将两个任务节点进行拖拽连线,即可确立它们的先后依赖顺序。调度引擎会自动根据 DAG 拓扑顺序推进执行。

2. 版本比对与回滚管理 (Versions)

为了防止多人协同开发时的代码冲突或误操作导致运行崩溃,系统为每个工作流引入了历史版本机制

  • 版本差异比对:在「版本历史」列表中,您可以选择任意两个历史发布版本进行差异化比对。系统会以直观的连线及文本差异对比形式展示拓扑连线变动和节点 SQL 内容的修改细节。
  • 一键版本回滚:如果新上线的版本在运行中遇到异常,开发人员可以在版本列表中选中任一历史正常的版本,点击“回滚”。系统会安全地将当前工作区恢复至该历史版本。

3. 发布审批协同流 (Publish & Approval)

生产环境的运行任务必须具备稳定性。为此,工作流变更需要经过规范的发布审批:

  1. 草稿开发中:日常对工作流拓扑、SQL 语句的修改均只保存在您的草稿箱中,不会影响当前生产调度引擎中正在运行的任务。
  2. 提交发布申请:开发完成后,点击“发布”。系统会弹窗展示**“发布预览差异”**,清晰显示本次修改对比生产运行版本的不同(如删除了哪些依赖,修改了哪些 SQL)。确认无误后填写发布说明并提交。
  3. 管理人员审批:项目管理员/经理在「发布审批」控制台审查发布差异。点击“同意”后,系统会自动将工作流最新的草稿同步并替换调度引擎中的定义,并使其重新上线。

4. 立即运行与历史补数据 (Run & Backfill)

在工作流列表中,您可以通过以下方式触发执行:

  • 单次立即执行:用于开发调试。点击“立即执行”,系统会向调度引擎发起单次测试请求,并在前台以 Gantt 图或列表日志的形式,实时同步展示各个任务节点的运行进度与成功/失败日志。
  • 历史日期补数据 (Backfill):当上游由于延迟漏数或计算规则修改需要重算历史数据时,您可以使用“补数据”功能:
    1. 选择需要重算的工作流。
    2. 指定历史日期区间
    3. 配置并发度(如选择多个日期并行计算或串行计算)。
    4. 确认后系统会自动在调度引擎中批量拉起对应日期的历史运行实例。

5. 既有调度反向导入 (Import)

对于已经在 Apache DolphinScheduler 中运行的项目,您无需在 OpenDataWorks 中重新配置:

  1. 点击「导入 Dolphin 任务」,选择您的调度项目。
  2. 系统会自动列出该项目下所有的 DolphinScheduler 工作流。
  3. 点击“导入预览”,系统会分析其 DAG 的依赖关系及节点定义。
  4. 确认导入后,系统会一键将该拓扑及其节点自动同步生成本地的工作流与元数据,无缝接管其调度状态监控。

基于 GPL-3.0 许可发布