☰
DolphinScheduler 拖拽式工作流:零代码把每日销售数据同步画出来,到点自己跑
2026/11/3 10:13:59 网站建设 项目流程

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

上周五晚上八点,上游表被改动,丢了一天销售数据,你手动把 INSERT 语句复制粘贴补了七天,一天一条。补是补上了,可下一次链路静默失败,谁来盯?Apache DolphinScheduler 用拖拽式可视化工作流接住这类日常活:把依赖画出来、把定时填上,之后系统自己到点跑,失败了它告诉你。

四件手工的事,分别丢到哪里

先把手里的日常动作对到界面上,这些事都不用写调度脚本。

现在你手工做的事界面上去哪里得到的效果
改 SQL 里的日期再跑内置参数${system.biz.date}日期按定时时间自动算
靠脑子记谁先跑谁后跑画布上拖节点、拉连线连线即依赖,上游失败下游不跑
缺数据时手动补数工作流定义 → 运行工作流 → 补数据按日期范围批量生成实例
半夜查任务跑没跑完工作流实例页面节点状态图、甘特图、日志一个页面看全

拖两个 SQL,连上第一条线

跟做的案例是最常见的一种:每晚把当天销售明细同步进来,再汇总成报表表。

进入任意项目,左侧展开 Workflow,点进 Workflow Definition,左上角点 "Create Workflow"。空白画布打开:左边是任务面板,SHELL、SQL、PYTHON、DataX 等类型排成一列;节点默认叫Node A,双击改成sales_sync。再从面板拖一个 SQL 到画布,改名sales_agg。

点击sales_sync节点,右侧出配置面板:选源库的数据源,把同步 SQL 粘进 Script 区;如果这步容易偶发报错,顺手加 1~2 次失败重试。sales_agg同理,只是数据源选汇总库。

接着从sales_sync尾部拉一条线,接到sales_agg头部。这条线就是工作流依赖配置:汇总要等同步成功才启动;想让两个任务并行,不连线即可。顶部工具栏还有自动布局、缩放、复制、Save,画布乱了点一下自动布局就整齐。

保存。弹出 Basic Information,工作流名填sales_daily,任务里要用的固定值可以放进下方 Global Variables 区,比如localparameter=1。点 Save,定义落库。此时状态是 Offline,还要在工作流定义列表操作列点上线图标,它才可运行。

日期变量不用你填

sales_agg跑的是这种 SQL:

INSERT INTO dws_sales_day SELECT shop_id, SUM(pay_amount) FROM ods_sales_detail WHERE dt = '${system.biz.date}' GROUP BY shop_id;

${system.biz.date}是 DolphinScheduler 的内置参数,等于定时时间的前一天,格式 yyyyMMdd;还有${system.biz.curdate}(定时时间当天)和${system.datetime}(精确到秒)。不够用还可以组日期表达式,如$[yyyyMMdd-1]、$[last_day(yyyy-MM-dd)],完整清单见内置参数文档。写 SQL 时填一次变量,运行期永远不用改。

到点自己跑

工作流定义列表里,点sales_daily行的 "定时" 按钮。弹窗要填的没几项:起止时间(定时只在这个区间内生效,把起始时间设得早一点,这条链路就常年跑,过了结束时间自动停,不用手动下掉);Timing 是 cron 表达式,0 0 2 * * ? *即每天凌晨两点;Timezone 选你的时区。填完点右侧 "Execute time",系统马上列出未来五次执行时间,一眼确认没写错。

Failure Strategy 只有两个选项:Continue 表示某节点失败后,其余并行分支继续跑;End 表示任何节点失败就终止整个流程。汇总依赖同步这条链,选 End,别让汇总在半截数据上白跑。同一弹窗里还能配 Notification Strategy(告警组)和 Worker Group,不填就走默认。

点 Confirm 后定时还没生效:新建定时状态是 Offline,要在操作列点 "定时上线" 发布,它才会按点触发实例。定时操作的完整说明在工作流定义文档。

发现某天历史数据漏了,也不用手改日期:定义列表点运行工作流,在 Complement Data 区勾选补数据选项,选日期范围,按串行补数或并行补数逐天生成工作流实例;Startup Parameter 区还能临时覆盖全局变量值,补数不影响在线任务。拿不准就先打开 Dry-Run 预览一遍。补完回实例页,看逐天生成的实例是不是都绿了。

节点变红,先看哪里

第二天凌晨两点它自己跑。想看昨晚跑得如何,进 Workflow Instance 页面:上方是该实例的节点状态图,每个节点带状态标记,点进节点能看配置和日志;下方甘特图显示每个任务耗时多长,色块对应所处状态,顶部图例一目了然。实例列表里每条都带起止时间,好核对是哪一天的。

出问题时先对照这张表,再动手:

现象先查哪里处理动作
某节点红(Failed)点节点 → View log,看任务日志修掉 SQL 或数据问题后重跑该节点,不必整条流程重来
整条流程一直不触发工作流是否上线、定时是否已定时上线发布工作流 / 上线定时;新定时不上线不会出实例
节点绿但数据不对日志里${system.biz.date}与预期日期比对回定时弹窗核对 Timezone 设置
缺了历史几天数据工作流定义 → 运行工作流勾选补数据,选日期范围串行或并行补数

实例上重跑、暂停、终止等全部操作,见工作流实例文档。

📌 提示:偶发失败的节点,先在节点配置里加 1~2 次失败重试,再考虑改流程。

链路稳了之后

一条链路画完,每日销售管道就从人手里交出去了:定时触发、连线管顺序、变量替日期、实例页替人盯盘。

往后变大时有两个顺手的方向:把汇总段拆成子工作流(SUB_PROCESS),多条链路复用同一段逻辑;想深入画布机制,看 DAG 画布源码,节点与连线如何管理,扩展任务类型时有用。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询