可通过数据回溯,完成任务在指定历史时间范围内的补数据/重跑操作,支持单任务、单任务及其下游、多任务、多任务及其下游的回溯操作,发起回溯后,您可在实例运维中查看回溯的实例。
本文将为您介绍数据回溯的操作。
1 使用场景
补数据:新任务提交上线后,需要补最近30天的数据,可通过数据回溯完成;
重跑:已有任务,变更了数据处理逻辑,需要对已产出数据进行修正,可通过数据回溯完成。
2 进入数据回溯
- 登录 DataLeap租户控制台 。
- 在对应项目下单击运维中心 > 离线任务运维 > 数据回溯界面。
数据回溯模块分为发起的,收到的和待复查三部分,各模块的功能如下:
3 发起的回溯列表
您可以在此查看该项目发起的全部数据回溯记录,支持新建数据回溯,支持根据发起时间,任务状态,回溯范围和任务层级等参数进行快速筛选。
3.1 新建数据回溯
进入数据回溯界面,在界面右上角单击新建数据回溯按钮,进入新建回溯界面:
3.1.1 回溯配置
参数 | 说明 |
---|
回溯范围 |
回溯范围 | 选择回溯任务的范围: - 单任务:仅指定单个任务进行数据回溯。
- 单任务及其下游:从回溯发起任务及其下游中,选择任务进行回溯。
- 多任务:同时选择多个任务,进行回溯操作,支持跨项目选择任务,只需有跨项目任务的编辑权限即可。指定多任务回溯范围时,还可选择手动输入、URL 导入两种任务导入方式。
其中 URL 导入方式需指定 URL 链接,需输入一个可访问的链接,且须按 JSON 数组格式返回任务 ID,输入 URL 后,单击开始导入按钮,便可查看对应的导入任务结果。 - 多任务及其下游:同时选择多个任务,作为回溯的发起任务,从回溯发起任务及其下游中,选择多任务进行回溯。
说明 下游任务:根据上游回溯实例,按照依赖设置,获取下游依赖上游的对应实例,作为下游的回溯实例。 |
回溯任务 | 搜索回溯任务: - 您可输入任务名称、任务 ID、数据表、HDFS 路径等信息,进行回溯任务的搜索。
- 您也可以单击根据上游设置回溯任务按钮,选择上游任务的任务名称、任务 ID 或 数据表等关键信息进行搜索,并指定任务所在项目范围后,根据依赖关系,会自动选择需要回溯的任务及其下游。
- 选择回溯任务后,单击使用表生命周期查看按钮,支持您查看回溯任务、及其依赖的上游任务、数据产出、所涉及数据表的 TTL 信息和依赖设置等信息。
|
回溯业务时间 | 选择回溯的开始业务时间和结束业务时间。 |
回溯剪枝 | 回溯范围选择单任务及其下游、多任务及其下游时,可按需配置回溯剪枝。在回溯任务量较多时,您可填写回溯条件,来筛选回溯范围,仅回溯符合条件的任务,提升回溯效率。
回溯剪枝选择部分任务后,您需配置至少一个回溯筛选条件,可筛选的条件有:层级、优先级、项目名称、负责人、依赖类型、回溯建议、调度类型、调度频率等,您也可按需配置多个筛选条件,多个条件之间可以是“且”、“或”关系。 注意 为了保证回溯链路的连通性,除层级剪枝条件支持固定拉取前 N 层任务以外,其余剪枝项均按照层级自上而下筛选符合条件的任务,即当本层所有任务均不满足剪枝条件时,便不会获取下一层任务。 |
回溯规则 |
指定可调度时段 | - 所有此次回溯/重跑生成的全部实例,均只允许在指定运行时段范围内提交调度。
- 若开启相关配置,系统则只在该指定时段,往引擎侧提交对应的回溯/重跑实例。
- “调度”不等价于“执行”,系统仅负责将对应实例提交调度至引擎,是否执行由引擎侧决定。
注意 若需要指定运行时段,则DataLeap产品需要购买 “DataOps 敏捷研发”、“湖仓一体” 或 “分布式数据自治” 的服务解决方案。 |
生成实例状态(单任务、多任务) | 单任务、多任务回溯范围生成的实例,可选择以下生成实例的状态: - 运行后获得真实执行结果。
- 直接置为成功。
- 直接置为失败。
|
依赖检查(单任务、多任务) | 单任务、多任务回溯范围生成的实例,可选择运行时是否遵循上游依赖设置: - 遵循依赖设置,上游完成后再开始执行。
- 忽略上游依赖,立即执行,可能会存在任务回溯时,上游数据没有准备完成的情况,导致产出数据有异常情况。
|
下游自依赖任务(单任务/多任务及其下游) | - 按照完整依赖设置获取回溯实例:
- 按照依赖设置,将依赖上游回溯实例的实例,作为本任务的回溯实例。
- 由于受任务自依赖影响,回溯实例会一直获取到最新业务日期对应的实例。
- 剔除自依赖后按照获取回溯实例:
- 剔除自依赖后,按照依赖设置,将依赖上游回溯实例的实例,作为本任务的回溯实例。
- 仅对有回溯权限的下游自依赖任务生效,需要审批的下游,为保证数据质量,仍然按照依赖设置获取回溯实例,由下游自己决定,是否参与此次回溯。
|
指定回溯队列 | 您可依据实际业务状况,选取回溯生成的实例,决定是否使用其他特定的队列、计算组来执行,使之与日常生成的调度实例在队列上有所区分,且不会对正常的队列任务执行造成影响。 - 是:需在下方指定队列中,指定回溯特定的队列、计算组。
- 否:不指定,默认使用和日常调度实例一致的队列、计算组。
注意 - 通用任务类型(Shell、Python)、Notebook、EMR Doris、EMR StarRocks、EMR Serverless StarRocks SQL、ByteHouse CE SQL 等不支持指定队列的任务类型,无需指定回溯队列。
- 当回溯范围选择多任务类型,且任务中包含 Shell、Python、EMR Doris、EMR StarRocks 任务类型时,指定回溯队列入口不展示,此场景不支持指定回溯队列信息。
|
指定队列 | 指定回溯队列选择“是”时,需要指定回溯特定的队列信息,您可在末尾的下拉框中,下拉选择已在项目控制台中绑定队列、计算组信息。项目绑定操作详见创建项目。 说明 - 指定队列/计算组生效范围:任务本身支持队列/计算组配置,且任务责任人有指定的队列/计算组权限,否则回溯不生效。
- 相同引擎实例下的多个任务发起回溯,多个任务仅支持指定同个队列/计算组信息。
|
提升回溯优先级 | 选择是否需要开启提升回溯实例的优先级: - 回溯实例默认使用最低优先级,即 D5;
- 提升回溯优先级之后,回溯实例的优先级与该任务例行实例保持一致,即调度设置中设置的优先级等级。详见任务基础属性。
|
最大并行 | 此次回溯中,包含的所有实例,允许同时运行的实例个数,若包含使用动态分区的任务下多个实例重跑,并行度需设置为1。 |
输入参数 | 数据回溯时,您可根据实际情况,判断是否需要开启任务输入参数设置: - 若回溯发起任务,有使用输入参数,则您可在此处指定输入参数的内容值;
- 目前支持“自定义”和“项目”类型的输入参数,指定具体内容值后,具体生效范围为:
- “自定义”类型输入参数:仅对“回溯发起任务”生效。
注意 当回溯发起任务有在任务开发设定自定义参数时,方可设置该类型参数。 - “项目”类型输入参数:对本项目下,使用了该项目参数,且参与此次回溯的全部任务生效。
|
回溯订阅 |
复查人 | 如果项目有设置回溯复查要求时,需选择复查人,复查配置操作详见:项目管理--->复查配置。 |
回溯原因 | 您可在此输入发起此次任务回溯的原因,方便后续查看回溯历史说明。 |
说明
如果您需要进一步缩小回溯任务范围或查看具体回溯任务,可选择单击“下一步(查看任务列表)”按钮,进行回溯任务预览;如无需要查看任务列表,便可选择“直接发起”,系统将异步发起回溯,在实例完全生成前,您也可在回溯列表中按需单击“取消审批”,即可取消回溯实例生成,详见3.3 回溯任务列表操作。
3.1.2 回溯任务预览
在回溯任务预览界面,您可查看符合上方回溯配置条件的任务列表。
- 回溯任务筛选
当符合条件的回溯任务比较多时,您可以根据以下筛选类型进行回溯任务的查看:回溯权限、任务类型、回溯建议、调度类型、依赖类型、频率、任务层级、任务名称、负责人、所属项目等。 - 回溯任务数勾选
此处展现符合条件的回溯任务列表,勾选具体需要回溯的任务即可。 - 任务勾选完成后,单击“下一步”按钮,进入最后回溯计划确认界面。
注意
如果任务数据回溯建议选择的是谨慎回溯时,需进行回溯二次确认,并填写对应的回溯原因。非任务责任人发起回溯时,还需责任人进行审批操作,
3.1.3 回溯计划确认
根据选择的回溯任务,在回溯计划确认时,可统计出具体回溯所产生的实例数量。
- 您可以在每个任务所产生的回溯实例数中,单击查看按钮,继续选择需要回溯的业务时间范围。
- 或者进入回溯实例高级设置,进行回溯实例的筛选,支持以下两个选择方式:
- 只保留符合条件的回溯实例
- 剔除符合条件的回溯实例
继续选择回溯权限、业务时间范围等参数进行实例过滤。
所有回溯实例确认完成后,单击确认回溯按钮,完成数据回溯的任务创建。
3.2 回溯任务筛选
可通过筛选和搜索,快速查找到指定的回溯任务,具体筛选和搜索项有:
- 筛选项:发起时间、回溯范围、用户筛选。
- 搜索项:回溯ID、发起任务ID/名称、下游任务ID/名称、发起人、回溯审批人。
- 重置:重置按钮可以将筛选项都清除,列表中展现出项目下所有的回溯任务。
- 快速筛选:勾选我的回溯,即筛选出当前账号作为责任人的回溯。
3.3 回溯任务列表操作
根据回溯任务筛选,展现项目下符合要求的回溯任务列表,在这您可以看到每次发起的回溯ID、发起时间、发起任务ID、回溯的业务时间、发起人、回溯配置、回溯的原因和回溯状态情况。
回溯状态栏中,您可以进行以下操作:
- 查看回溯详情:
您可单击回溯 ID 按钮,深入查看此次回溯任务的回溯详情,可查看本次回溯的具体任务列表,及实例运行详情; - 取消审批:
- 数据回溯发起方式选择为“直接发起”,将异步生成回溯实例;
- 在回溯列表,回溯实例状态为“生成中”时,可单击“取消审批”按钮,弹窗二次“确认”后,将未生成的实例取消,仅运行生成的部分实例。
- 终止下游审批:
在发起的回溯列表中,回溯任务待任务责任人审批时,发起人可选择终止下游审批的操作,取消此次回溯。
- 终止回溯:
当回溯的实例生成运行后,您可根据实际业务场景,按需单击终止回溯按钮,将正在运行,或还未运行的回溯实例终止,您可在回溯详情中,查看各实例实际运行状态。其中:
- 正在运行中的实例,终止回溯后实例状态显示为终止(系统终止);
- 等待运行的实例,终止回溯后实例状态将显示为终止(过期终止)。
- 复用:单击操作列下的复用按钮,可基于之前的任务回溯配置,再一次创建数据回溯。
- 撤销:在待复查回溯列表中,回溯任务需复查时,回溯发起人可单击操作列下的撤销按钮,取消此次回溯操作。
4 收到的回溯列表
您可以在此查看项目下的所属任务,收到的全部数据回溯记录,并且支持谨慎回溯审批操作。
支持根据发起时间,任务状态进行快速筛选,还支持根据回溯 ID ,发起任务 ID /名称,回溯中包含的下游任务 ID /名称,回溯发起人/审批人进行搜索。
4.1 回溯任务审批场景:
- 回溯的任务,在调度设置中选择了谨慎回溯---任务责任人审批方式,操作详见:调度设置。
- 回溯发起人不是任务责任人,回溯审批仅支持任务责任人操作。
说明
- 任务的调度设置中,回溯建议选择为谨慎回溯---任务责任人审批方式,但回溯发起人与任务责任人相同时,无需额外的审批操作,回溯是默认同意状态。
- 任务责任人同意回溯时,若需要指定运行时段,则DataLeap产品需要购买DataOps敏捷研发、湖仓一体 或 分布式数据自治的服务解决方案。
4.2 谨慎回溯审批操作
谨慎回溯审批人可在收到的回溯列表中,按以下步骤进行回溯审批:
- 根据发起人提供的回溯任务 ID,搜索需要审批的谨慎回溯任务;
- 单击回溯任务 ID,进入回溯详情界面;
- 在回溯任务列表的操作列下,单击同意或拒绝按钮,进行审批操作:
- 同意:支持“同意,且生成回溯实例”、“同意,但不生成回溯实例”两种同意方式选择,在回溯确认窗口中,您也可按需设置回溯实例的最大并行数、指定可调度时段、回溯优先级、及任务所需参数等信息。
- 拒绝:单击拒绝按钮,结束本次回溯操作。
5 待复查的回溯列表
您可以在此查看该项目需要复查的全部数据回溯记录,复查人员登录时支持复查审批操作。
支持根据发起时间,复查状态进行快速筛选,还支持根据回溯 ID ,发起任务 ID /名称,回溯中包含的下游任务 ID /名称,回溯发起人/复查人进行搜索。
5.1 复查前提条件
项目需要设置回溯复查策略,发起的数据回溯,需要复查人员审批后才会实际进行回溯。回溯复查策略配置详见:项目管理--->复查配置。
5.2 复查操作
- 通过:复查人进入待复查界面,在操作列中单击通过按钮,即可完成审批。
- 拒绝:复查人进入待复查界面,在操作列中单击拒绝按钮,即可拒绝此次回溯。
- 撤销:回溯发起人,可进入待复查界面,勾选待复查任务,可单击撤销,取消此次回溯复查。
5.3 查看回溯实例
复查通过后:
- 前往实例运维界面,通过实例筛选搜索方式,搜索回溯的实例。
- 或者在数据回溯发起界面,回溯列表的状态栏中单击查看详情,进入回溯的多任务列表中,再单击具体任务状态栏中的查看详情,进入运行详情窗口,单击实例操作入口,进入实例运维界面定位查看具体的回溯任务运行进展。