ETL中统一调度的方式
ETLCloud 作为一款强大的数据集成平台,其统一调度机制是确保整个 ETL 流程顺畅、高效运行的核心组件。
通过统一调度,能够协调不同任务之间的执行顺序、时间安排以及资源分配,从而提升数据处理的整体效率和可靠性。
下面我们来梳理一下在日常数据处理中,如何选择ETLCloud的任务调度策略以提高处理数据的效率。
一、ETLCloud的任务调度策略
ETLCloud的任务调度策略主要有以下几种:手动触发调度、周期性调度、事件驱动型调度、基于条件调度、API调度。
- 手动触发的调度模式
高度灵活的调度模式,用户可以根据当前的临时需求自行决定手动调度某个流程。
可以在流程右侧操作下拉菜单选择立即运行:
也可以进入流程设计里面点击运行按钮,可以选择俩种模式,
执行一次和单步调试
执行一次就是启动流程让流程从开始走到结束条件生效。
单步调试模式可以一步步看到从开始节点到流程结束的每个节点数据流运行情况(每条路由线也是节点)。
通过点击运行下一步控制节点运行,在控制台中可以详细看到节点运行信息和当前数据以及变量。
点击查看当前数据流可以查看当前数据流的数据详情。
点击局部变量可以查看当前局部变量信息:
点击全局变量可以查看当前全局变量信息:
也可以通过设置断点,让流程自动运行到断点的前置节点方便针对某个节点进行调试。
2. 周期性调度
周期性调度的特点是自动化、周期性。
周期性调度策略主要由定时任务来启动流程。
创建流程时可以选择调度模式为定时自动调度,然后设置调度策略(设置任务启动周期)
已有的流程可以在流程右侧操作按钮下拉菜单修改流程的运行方式,方法同上。
如果系统内置的定时调度策略无法满足需求,可以自定义调度策略:
来到主页–>平台配置–>定时任务设置–>定时策略管理
点击新增定时策略
填写定时策略名称和定时表达式,定时表达式使用cron表达式。例:这里配置了一个每年7月22日十一点半执行的定时调度策略。
配好后就可以在流程设置里面选择自定义的策略:
配置好流程后开启调度,并且将鼠标指向状态可以看到下一次调度的时间:
注意:如果配置好的定时任务有修改,需要先停止调度后重启调度才会生效
3.事件驱动型调度
ETLCloud的事件驱动调度主要有两种分别是CDC调用流程和依赖上级流程
CDC调用流程:
主页–>实时数据集成–>新增监听器
需要数据库支持并开启CDC,具体配置可以到官网看帮助文档
配置一个监听器:
接收端配置选择传输到ETL的流程,并且指定ETL流程(离线数据集成里面的ETL流程)
配置好后启动监听器
修改监听的表的一条数据触发监听:
在离线数据集成流程页面可以看到流程被执行:
事件驱动型调度还有一种方式是依赖上级流程:
新建或修改流程的运行方式为依赖上级流程。
选中依赖的上级流程,可以选择多个,只有所有的上级流程都运行过并且没有失败后会触发运行这种流程。
这种设置流程方式的目的:当前设置的流程中,可能有些前置数据是上级流程执行完毕后才能允许当前流程执行,不然无法保证数据的一致性。
运行方式:在周期内会检索选中的上级流程,全部都要有安全执行结束的结果,检查到了对应的执行记录才判定上级流程的数据已准备完毕,可以执行当前流程,则会触发事件运行当前流程。
示例:
当前流程依赖于一个上级流程,并且当前流程没有运行记录,点击手动执行上级流程。
可以看到,当上级流程成功结束,会自动触发运行当前流程:
上级流程成功执行
当前流程被触发执行
4.基于条件调度
基于条件调度的特点是符合某种条件才会执行任务。
这种方式通常是使用在流程判断中,可以通过判断条件决定是否执行子流程。
例:可以通过路由线的设置决定数据流流向,实现路由判断执行哪条路径。
有数据时运行结果:
没有数据时运行结果:
5. API调度
通过将设计好的流程发布成API,可以用调用API的方式灵活调度流程。
在流程操作中创建API
填写相关配置并保存:
在流程详情中查看我们创建的api:
现在流程运行记录中是空的,我们在流程一中通过ETL中自带的API组件来调度来触发这个api流程流程。
查看运行记录,流程调度成功。
ETLCloud的统一调度机制通过其灵活的任务配置、强大的任务依赖与流程控制以及高效的资源管理与优化功能,为企业提供了高效、灵活且可靠的ETL任务调度方案。