DolphinScheduler 可视化工作流:从空白画布到每日自动跑批 DolphinScheduler 可视化工作流从空白画布到每日自动跑批【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/gh_mirrors/do/dolphinscheduler每天凌晨业务侧的订单数据要拉出来、清洗、写进数仓最后把报表发出去。这些环节过去要么靠人手动跑脚本要么写成一串 crontab 和 shell顺序乱了就没人发现。DolphinScheduler 的拖拽式工作流把这件事变成零代码任务编排在浏览器里拖几个节点、连几条线整条流水线就排好了。 画布核心区域工作流设计界面速览打开一个工作流定义你会看到一块典型的可视化 DAG 编辑画布按方位分四个区域中间画布任务节点和依赖连线都画在这里节点上的小图标代表任务类型Shell、SQL、Python 等。左侧节点库所有可拖拽的任务类型都在这里点选后直接拖进画布即可。右侧属性面板点中某个节点后展开配置该节点的脚本、参数、资源、重试次数等。顶部工具栏保存、撤销、放大缩小、节点间连线与删除线等操作按钮。前端实现位于 工作流定义页面想对照界面找按钮时可以参考对应组件目录。 搭一条每日跑批流水线实操场景凌晨 2 点拉取订单明细清洗后写入数仓再发一封报表邮件。全程用 Shell 和 SQL 节点完成不写一行调度脚本。建项目、建流程登录 Web UI进入左侧菜单项目管理点击列表上方的创建项目填写项目名称如order_etl和描述确认。点击项目卡片进入项目依次进入工作流 → 工作流定义页签。点击创建工作流进入 DAG 编辑画布。新建的定义默认处于下线状态后续上线后才能运行。拖节点、连依赖从左侧节点库把Shell节点拖进画布命名为fetch_orders再把SQL节点拖进来命名为clean_to_dwh第三个 Shell 节点命名为send_report。鼠标移到fetch_orders节点右侧的加号上连线到clean_to_dwh再用同样方式把clean_to_dwh连到send_report。箭头方向即执行顺序上游成功下游才开始。如果需要并行从一个节点拉出多条连线即可被指向的多个节点会同时启动。各任务类型的执行逻辑都在 任务插件模块 下本文用到的 Shell、SQL 各对应一个子模块。配参数、设资源点击fetch_orders节点在右侧属性面板填写节点名称和脚本比如执行sh fetch_orders.sh勾选运行标志为正常。按需配置任务优先级Worker 线程不足时高优先级任务先跑、超时告警勾选后填超时时长超时即告警并置为失败、重试次数与重试间隔。如果脚本以资源文件形式维护先在资源 → 文件管理上传再在节点的资源字段选择调用时务必使用资源全路径。对 SQL 节点在属性面板选择已配置的数据源粘贴清洗 SQL。全部配好后点击顶部保存在弹出的设置 DAG 图名称对话框里填名称、描述顺带可以在这里定义全局参数点添加完成保存。⏰ 让流程按点跑调度与参数配置 Cron 定时触发回到工作流定义列表先点上线让工作流生效。点击列表行内的定时按钮弹出定时参数设置框选择起止时间范围再填写 cron 表达式。例如每天凌晨 2 点触发填0 0 2 * * ? *。同页还能设置失败策略继续/终止、通知策略、流程优先级、Worker 分组。点创建后定时处于下线状态再点定时上线确认到点系统才会自动拉起工作流实例。定时执行的后端由 Quartz 调度插件 实现。三级参数体系与内置变量参数传递分三层作用域由小到大同名时小范围覆盖大范围。以${biz_date}类变量为例在 SQL 里直接写WHERE dt ${system.biz.date}即可取到定时时间的前一天。参数名作用域示例自定义参数局部参数单个任务节点节点属性面板中声明仅本节点可用全局参数当前工作流保存工作流时定义如dt${system.biz.date}项目级别参数整个项目项目管理页创建项目内所有任务可引用系统内置变量全局${system.biz.date}、${system.workflow.instance.id}完整内置变量清单见 内置参数文档。 跑起来之后监控与排错看执行状态进入工作流 → 工作流实例列表按实例展示每次触发的状态失败的实例节点标红。点击实例进入流程图视图每个节点右上角显示当前状态点开任意节点可查看任务实例日志日志会持续滚动输出。实例页还提供甘特图视图横向对比各任务的起止时间一眼看出哪个环节拖慢了整条流水线。监控页还汇总了 Master、Worker、告警服务等服务端状态参考 监控文档。常见卡点与解法现象可能原因处理任务报资源文件找不到资源未上传或脚本里没写全路径到资源中心确认文件存在脚本改用资源全路径调用定时到点没产生实例定时创建后未点击定时上线或超出起止时间范围检查定时状态是否为上线核对起止时间下游任务一直不执行上游任务失败且失败策略设为终止修复上游后重跑失败任务或调整失败策略为继续实例堆积、排队严重同一工作流并发实例多或 Worker 组资源不足将执行策略改为串行等待/串行抛弃或换大资源 Worker 分组收尾到这里一条拉数 → 清洗 → 写仓 → 发报表的每日自动跑批流水线已经可以在浏览器里拖出来、按点自动跑、出问题能查日志。下一步可以试两件事把重复的公共步骤抽成子工作流复用给关键节点配上超时告警并绑定邮件通知组让凌晨的失败在早上之前就能被看到。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/gh_mirrors/do/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考