ETL更新策略
1. 概述
合适的调度策略可以提供工作效率、保证数据质量,为数据团队的工作提供有力支持。
通过ETL任务调度,控制ETL任务的启动运行(启动时间、运行周期及触发条件),可以帮助企业实现对海量数据的自动化处理,为数据团队的工作提供有力支持。
企业可以根据需要制定不同的任务调度策略,包括配置配置ETL更新方式、任务优先级、超时限制等,以满足不同的数据处理需求。
2. 使用说明
2.1. 入口说明
配置入口 1 :ETL任务详情页 > ETL更新模块
配置入口 2: ETL任务编辑页 > 更新设置
2.2. 配置说明
下文以配置一个定时调度为例进行介绍。
-
进入 Smart ETL页面,点击页面右上方的 更新设置 。
-
在 更新设置 对话框中,调度状态开关 调整为开启。
-
根据实际需要,更新方式选择“定时”模式,并设置更新周期(如每天10点晨会需要演示最新的销售指标,所以当前ETL更新周期设置为每天9点50分)、高任务优先级、超时设置。
-
配置完成后,点击确定。
-
未来可在 ETL任务详情页 > ETL更新模块 查看或修改。
ETL设置的更新方式为“所有勾选的数据集都更新后才会触发”,但是为什么没等所有数据集都更新,ETL就自动触发更新了?
ETL更新策略的调度配置项如下:
配置项 | 说明 |
调度状态开关 | ETL的调度状态支持开启或关闭。当开启时,允许ETL被主动调度,可以定时运行或数据集更新后触发ETL执行。关闭时,仅支持通过API或手动触发ETL运行。(灵活性较高,适用于数据量较小或任务较简单的场景,可以根据实际情况随时调整任务的执行时间和频率) |
更新方式 | 提供两种模式选择:定时调度和数据集更新后触发调度。定时调度:根据业务需求、数据更新频率等因素,让ETL任务按照预设的时间点或时间间隔内自动执行。支持周期性执行,如每天、每周或每月执行。支持一个周期内的多时间间隔执行,如每天的0点、6点、8点、12点、24点执行。数据集更新后触发调度:指ETL环节中的数据集发生变化时,触发相应的ETL任务执行,以保证数据处理流程的实时性。支持选择“任何一个勾选的数据集更新后都会触发ETL”或者“所有勾选的数据集都更新后触发ETL”。所有数据集需在同一天内(00:00:00-23:59:59)更新,可勾选。 |
任务优先级 | 根据业务需求和紧急性,为当前ETL任务设置不同的运行优先级。目前任务优先级包括“最高”、“高”、“中等”、“低”或“最低”五个等级,“最高”优先级意味着在所有ETL任务中最先执行。注意:如所有任务均设置为“最高”,则按照任务提交时间执行。 |
超时设置 | 设置ETL任务运行时长的阈值。若任务在规定的时间内无法完成,系统会中止该任务的执行,避免长时间占用任务队列或计算资源,阻塞其他任务的正常运行。自定义超时时间:可设置的时间区间:1~300分钟。跟随全局超时时间:跟随管理员在运维管理-参数配置-ETL参数配置模块中的全局超时时间。 |
各调度模式的区别
定时调度适用于固定时间间隔执行的数据处理任务,而数据集更新后触发调度更适合需要实时或近实时处理的场景,如销售数据表更新后,再去做业绩分析才是有意义的。
与定时调度相比,数据集更新后触发调度可以避免在没有实际数据更新的情况下执行任务,从而减少了资源的浪费。(假设数据还未准备充足就空跑ETL,导致输出的ETL结果无实质性用途。)