ETL更新策略
概述
合适的调度策略可以显著提升工作效率、保证数据质量,为数据团队的工作提供强有力的支持。
通过 ETL 任务调度,您可以精确控制 ETL 任务的启动运行(包括启动时间、运行周期及触发条件),实现对企业海量数据的自动化处理,让数据处理工作更加高效和可靠。
您可以根据实际业务需求制定不同的任务调度策略,包括配置 ETL 更新方式、设置任务优先级、调整超时时间等,以满足多样化的数据处理需求。
功能入口
入口一 :ETL 任务详情页 > ETL 更新模块

入口二: ETL 任务编辑页 > 更新设置

配置调度状态
您可以通过调度状态开关来控制 ETL 任务的执行方式。开启调度状态时,ETL 任务将支持定时运行和数据集更新后自动触发执行;关闭调度状态时,ETL 任务只能通过 API 调用或手动操作来触发运行。这种灵活的设置方式特别适用于数据量较小或任务相对简单的场景,您可以根据实际需求随时调整任务的执行时间和频率。
配置更新方式
观远 BI 支持两种更新方式:定时更新和勾选的数据集更新后触发更新。
定时调度适用于固定时间间隔执行的数据处理任务,而数据集更新后触发调度更适合需要实时或近实时处理的场景,如销售数据表更新后,再去做业绩分析才是有意义的。
与定时调度相比,数据集更新后触发调度可以避免在没有实际数据更新的情况下执行任务,从而减少了资源的浪费。(假设数据还未准备充足就空跑ETL,导致输出的ETL结果无实质性用途。)
-
定时更新 根据业务需求和数据更新频率,您可以设置 ETL 任务在预设的时间点或时间间隔内自动执行。系统支持多种周期性执行模式,包括每天、每周或每月执行。同时,您还可以设置在一个周期内的多个具体时间点执行,例如每天的 0 点、6 点、8 点、12 点、24 点等。

-
数据集更新后触发 当 ETL 流程中的数据集发生变化时,系统可以自动触发相应的 ETL 任务执行,确保数据处理流程的实时性和准确性。您可以根据实际需求选择以下两种触发模式:
- 任何一个勾选的数据集更新后触发:只要选定的数据集中有任何一个发生更新,就会立即触发 ETL 任务
- 所有勾选的数据集都更新后触发:只有当所有选定的数据集都完成更新后,才会触发 ETL 任务
请注意,所有数据集需要在同一天内(00:00:00-23:59:59)完成更新,您可以根据需要勾选相应的数据集。

-
ETL 更新方式不支持「URL 触发更新」,有此需求的客户可以在 ETL 来源数据集里面加一个无关的数据集 A,将 ETL 设置成依赖数据集 A 更新而更新。然后把数据集 A 的更新方式设置为「URL 触发更新」,从而实现更新数据集 A 以达到触发 ETL 运行的效果。
-
知识反馈数据集作为 ETL 输入数据集的时候,该 ETL 触发更新的条件选择「任何一个勾选的数据集更新后都会触发」时,无法勾选知识反馈数据集,勾选框会是灰色。这是因为如果允许反馈数据集触发 ETL,可能会因触发次数过多引起性能问题。
ETL设置的更新方式为“所有勾选的数据集都更新后才会触发”,但是为什么没等所有数据集都更新,ETL就自动触发更新了?
配置任务优先级
ETL 任务运行存在并发限制(同一时间可运行的任务数量有上限),当超过限制时,任务将进入排队状态。您可以根据业务需求和任务紧急程度,为当前 ETL 任务设置合适的运行优先级。目前系统提供五个优先级等级:「最高」、「高」、「中等」、「低」和「最低」。

设置为「最高」优先级的任务将在所有 ETL 任务中优先执行。如果多个任务都设置为「最高」优先级,系统将按照任务提交时间的先后顺序执行。
同一个 ETL 最多允许存在 1 个正在运行和 1 个排队,绝对不允许多个任务同时运行或者同时排队。如果同一个 ETL 已经在排队中,新的提交会被视作重复任务直接取消。
ETL 任务的并发数量可以由管理员在「管理中心 > 系统设置 > 通用设置 >运行参数」界面配置,单击右上角「编辑」按钮即可修改「调度任务并行数」以适应当前环境资源情况。

配置超时设置
您可以通过设置 ETL 任务运行时长阈值来控制任务执行时间。当任务在指定时间内无法完成时,系统将自动中止该任务的执行,有效防止长时间占用任务队列或计算资源,确保其他任务能够正常运行。作为 ETL 所有者,您可以选择自定义超时时间或跟随系统全局设置。

-
自定义: ETL 所有者可设置的时间区间为 1~300 分钟。

-
跟随全局: 管理员可以在「管理中心 > 系统设置 > 通用设置 >运行参数」界面配置系统统一的「任务最大运行时长」。
