补数据可通过补历史或未来一段时间的数据,将写入数据至对应时间分区。代码中的调度参数,将根据补数据选择的业务时间自动替换为具体值,并结合业务代码将对应时间数据写入指定分区。具体写入的分区与执行的代码逻辑,与任务定义的代码有关。本文为您介绍旧版补数据如何执行补数据操作并管理补数据实例。
背景信息
周期任务开发完成并提交发布后,任务会按照调度配置定时运行。如果您希望在指定时间段运行周期任务,可使用补数据功能。DataWorks支持的补数据方式如下。
补数据模式 | 描述 |
用于对当前节点进行补数据操作。 | |
用于对当前节点及下游节点进行批量补数据操作,通常在当前节点的下游节点数量较少时使用该功能,支持指定部分下游节点。 | |
用于对当前节点及下游节点进行批量补数据操作,通常在当前节点的下游节点数量较多时使用该功能,支持按照项目筛选下游节点。同时,支持设置节点白名单和黑名单,选中或过滤目标节点。 说明 海量节点模式最多支持同时对 | |
用于灵活选择一批节点进行批量补数据操作,节点之间可以不存在依赖关系。您可在DAG图上使用可视化方式添加节点,也可在任务列表中添加节点。
|
同时,DataWorks提供了更加便捷的新版补数据操作供您使用,详情请参见执行补数据并查看补数据实例(新版)。
使用限制
地域限制
仅华南1(深圳)、中东东部 1(迪拜)地域支持周期任务使用高级模式进行补数据。
实例清理原则
不支持手动删除补数据实例,实例过期后(30天左右)平台将自动删除。如果任务不需要再运行,可选择冻结实例。
公共调度资源组实例保留一个月(30天),日志保留一周(7天)。
独享调度资源组与Serverless资源组的任务实例、日志均保留一个月(30天)。
运行完成的实例,当日志大于3 MB时,平台会每天定时清理。
注意事项
实例运行相关
当补一个区间的数据时,在启动补数据的第一天存在一个运行失败的实例,则当天的补数据实例会被置为失败状态,第二天的实例也不会启动运行(只有当天的全部任务实例都成功,第二天的任务实例才会开始运行)。
小时或分钟任务补某一天数据时,当天所有实例是否并发执行与任务是否设置自依赖有关。
如果周期实例和补数据实例均启动运行,为了保证周期实例的正常运行,您需要终止补数据实例的运行。
调度资源相关
补数据实例过多或并行数过高可能导致周期调度的资源紧张,请根据需求合理配置。
为避免补数据实例占用过多的资源而影响周期实例运行,平台对补数据实例制定以下规则:
如果补数据选择业务日期为昨天(T-1),即补当天数据时,补数据任务优先级由任务所在基线优先级决定。
如果补数据选择业务日期为历史业务日期(T-2)时,补数据任务将按照以下规则对任务进行降级处理:
7级、8级任务优先级降为3级。
5级、3级任务优先级降为2级。
1级任务优先级保持不变。
进入补数据界面
进入运维中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入运维中心。
在左侧导航栏,单击
,进入周期任务页面。目标节点补数据。
单击周期任务列表中的目标任务名称,进入任务的DAG图界面。
在DAG图中,右键单击目标节点,鼠标悬停至补数据,选择相应的补数据模式。
执行补数据
选择补数据模式后,根据界面指引配置相关参数,配置完成单击确定,启动补数据。不同补数据模式的配置参数存在差异,具体如下。
当前节点补数据
选择当前节点作为本次补数据的任务范围。
参数说明如下。
模块 | 参数 | 描述 |
基础信息 | 补数据名称 | 平台自动生成,您可按需修改。 |
选择要补数据的任务 | 当前任务 | 当前选中的任务。 |
设置补数据运行策略 | 业务日期 | 指定所选任务需要进行补数据的业务日期,精确到天。
说明
|
指定周期 | 指定所选任务需要运行的周期,定时时间在该时间段内的实例才会生成并执行,您可通过本功能指定小时、分钟调度任务只运行指定周期内的数据。 说明
| |
并行 | 若对多个业务日期执行补数据时,可指定若干个分组并发执行本次补数据任务。取值如下:
并行数取值范围为
| |
补数据告警 | 设置此次补数据操作是否会触发告警。
| |
触发条件 | 设置告警触发条件:
说明 仅当补数据告警选择是时,需配置该参数。 | |
告警方式 | 选择通过短信与邮件、短信、邮件等方式接收告警,告警接收人为补数据的发起人。 说明
| |
顺序 | 选择按照业务日期正序或业务日期倒序进行补数据。 | |
调度资源组 | 指定运行补数据实例使用的资源组。
说明 请注意配置资源组网络连通,否则任务可能运行失败。若指定的资源组未绑定相关工作空间,则仍将使用原有周期任务的资源组。 | |
运行时间段 | 指定本次生成的补数据任务在什么时间执行。
| |
补数据任务校验 | 校验不通过时终止任务执行 | 指定本地生成的补数据任务在校验不通过时的状态。
说明 补数据任务将对基本情况和潜在风险项进行检测,分析内容如下:
|
当前节点及下游节点补数据
选择当前节点及下游节点作为本次补数据的任务范围。通常在当前节点的下游节点数量较少时使用该功能,支持指定部分下游节点。
参数说明如下。
模块 | 参数 | 描述 |
基础信息 | 补数据名称 | 平台自动生成,您可按需修改。 |
选择要不数据的任务 | 补数据包含当前任务 | 设置此次补数据操作是否包含当前任务。
|
选择下游任务 | 选择此次补数据的下游任务。 您可根据任务名称、层级等条件进行筛选过滤,选择需要补数据的目标节点。 说明
| |
设置补数据运行策略 | 业务日期 | 指定所选任务需要进行补数据的业务日期,精确到天。
说明
|
并行 | 若对多个业务日期执行补数据时,可指定若干个分组并发执行本次补数据任务。取值如下:
并行数取值范围为
| |
补数据告警 | 设置此次补数据操作是否会触发告警。
| |
触发条件 | 设置告警触发条件:
说明 仅当补数据告警选择是时,需配置该参数。 | |
告警方式 | 选择通过短信与邮件、短信、邮件等方式接收告警,告警接收人为补数据的发起人。 说明
| |
顺序 | 选择按照业务日期正序或业务日期倒序进行补数据。 | |
调度资源组 | 指定运行补数据实例使用的资源组。
说明 请注意配置资源组网络连通,否则任务可能运行失败。若指定的资源组未绑定相关工作空间,则仍将使用原有周期任务的资源组。 | |
运行时间段 | 指定本次生成的补数据任务在什么时间执行。
| |
补数据任务校验 | 校验不通过时终止任务执行 | 指定本地生成的补数据任务在校验不通过时的状态。
说明 补数据任务将对基本情况和潜在风险项进行检测,分析内容如下:
|
海量节点模式补数据
选择当前节点及下游节点作为本次补数据的任务范围。通常在当前节点的下游节点数量较多时使用该功能,支持按照工作空间筛选下游节点。
海量节点模式最多支持同时对2W
个节点进行补数据。
参数说明如下。
模块 | 参数 | 描述 |
基础信息 | 补数据名称 | 平台自动生成,您可按需修改。 |
选择要补数据的任务 | 补数据包含当前任务 | 设置此次补数据操作是否包含当前任务。
|
补数据工作空间 | 您可根据业务需求,在您的所有项目区域,选择目标工作空间,将其添加至补数据的项目区域,为目标工作空间中所选节点进行补数据。 说明
| |
节点白名单 | 除选中的DataWorks工作空间中包含的节点外,仍需要进行补数据的节点。 | |
节点黑名单 | 选中的DataWorks工作空间中不需要进行补数据的节点。 | |
设置补数据运行策略 | 业务日期 | 指定所选任务需要进行补数据的业务日期,精确到天。
说明
|
补数据告警 | 设置此次补数据操作是否会触发告警。
| |
触发条件 | 设置告警触发条件:
说明 仅当补数据告警选择是时,需配置该参数。 | |
告警方式 | 选择通过短信与邮件、短信、邮件等方式接收告警,告警接收人为补数据的发起人。 说明
| |
顺序 | 选择按照业务日期正序或业务日期倒序进行补数据。 | |
调度资源组 | 指定运行补数据实例使用的资源组。
说明 请注意配置资源组网络连通,否则任务可能运行失败。若指定的资源组未绑定相关工作空间,则仍将使用原有周期任务的资源组。 | |
运行时间段 | 指定本次生成的补数据任务在什么时间执行。
| |
补数据任务校验 | 校验不通过时终止任务执行 | 指定本地生成的补数据任务在校验不通过时的状态。
说明 补数据任务将对基本情况和潜在风险项进行检测,分析内容如下:
|
高级模式补数据
在高级模式中,您可以使用DAG图的聚合功能及节点的类型、责任人等过滤条件,批量为节点之间不存在依赖关系的多个节点进行补数据。高级模式补数据步骤如下:
选择需要补数据的节点。
在当前周期任务的DAG图中,您可以结合DAG图的聚合功能(区域1),按照不聚合、按所属工作空间聚合、按责任人聚合或按优先级聚合等维度将节点划分为组,直接勾选该节点组(区域2),快速添加目标类别的节点为补数据节点。DAG图的聚合功能,详情请参见附录:DAG图功能介绍。
您也可在周期任务界面,通过节点名称、节点类型、责任人、调度资源组等筛选条件进行过滤(区域3),在左侧任务列表中,勾选符合条件的周期任务为需要补数据的节点(区域4),单击下方的添加,将目标周期任务添加至补数据任务中。
说明该方式是将整个目标周期任务添加至补数据任务中,因此系统会对该周期任务中的所有节点进行补数据。如果您希望对周期任务中的部分节点进行补数据,则可以单击目标周期任务的名称,进入DAG图界面,选择需要进行补数据的节点。
查看补数据节点。
补数据节点添加完成后,您可在区域5的补数据面板,查看已选择的节点。同时,您还可执行如下管理操作:
单击目标节点后的图标,跳转至该节点的DAG图界面,可重新勾选该DAG图中需要补数据的节点。
单击目标节点后的图标,在当前补数据任务中删除该节点。
在区域5的补数据面板,单击去配置,配置补数据任务的相关参数。参数说明如下。
参数
描述
补数据名称
平台自动生成,您可按需修改。
已选任务数
当前补数据任务中包含的节点个数。您可单击修改,修改当前补数据任务包含的节点。
业务日期
指定所选任务需要进行补数据的业务日期,精确到天。
如需对该任务的多个不连续的时间段补数据,可单击添加多段业务日期,配置多个时间段。
当业务日期晚于当前日期,可选择立即运行定时时间大于此刻的补数据实例,后续当实际时间大于配置的业务日期时,平台会立即运行该补数据实例。
例如,当前日期为
2024-03-12
,业务日期为2024-03-17
,则等实际日期为2024-03-18
(大于业务日期)时,补数据实例便会启动运行。
说明在离线计算中,最常见的是今天处理昨天的数据,此处昨天就是业务日期。在补数据过程中,会根据您选择的业务日期生成当时的任务实例,以便您可以回溯指定时间的数据。
建议补数据的时间不要太长,以免出现任务需要等待资源的情况。
并行
若对多个业务日期执行补数据时,可指定若干个分组并发执行本次补数据任务。取值如下:
是:平台将按照指定的分组数对业务日期进行拆分,根据分组结果生成多个补数据批次并发执行。
否(默认值):按照业务日期顺序串行执行,前一个补数据实例运行结束后下一个补数据实例才会运行。
说明小时、分钟任务某天实例是否并发执行,与小时、分钟任务本身是否设置自依赖有关。
并行数取值范围为
2~10
组,多个实例并发执行的情况如下:若业务日期的跨度时间少于并行组数,则任务并发执行。
例如,业务日期为
1月11日~1月13日
,并行数为4组,则只会生成三个补数据实例(每个补数据实例对应一个业务日期),三个实例并发执行。若业务日期的跨度时间大于并行组数,则平台根据业务日期顺序兼有串行和并行执行任务。
例如,业务日期为
1月11日~1月13日
,并行数为2组,则会生成两个补数据实例(其中一个补数据实例会包含两个业务日期,这两个业务日期对应的任务串行执行),两个补数据实例并行执行。
补数据告警
设置此次补数据操作是否会触发告警。
是(默认值):满足触发条件则产生告警。
否:此次补数据不会触发告警。
触发条件
设置告警触发条件:
失败或成功皆告警:无论补数据运行成功或失败,均会产生告警。
成功告警:补数据成功时才会产生告警。
失败告警(默认值):补数据失败时才会产生告警。
说明仅当补数据告警选择是时,需配置该参数。
告警方式
选择通过短信与邮件、短信、邮件等方式接收告警,告警接收人为补数据的发起人。
说明仅当补数据告警选择是时,需配置该参数。
单击检验联系方式,即可验证报警接收人的手机号或邮箱是否已登记。若未登记,可参考查看和设置报警联系人配置。
顺序
选择按照业务日期正序或业务日期倒序进行补数据。
调度资源组
指定运行补数据实例使用的资源组。
指定调度资源组:使用指定资源组执行补数据实例,避免补数据实例与周期实例抢占资源。
跟随任务配置(默认值):使用周期任务原本配置的资源组执行补数据实例。
说明请注意配置资源组网络连通,否则任务可能运行失败。若指定的资源组未绑定相关工作空间,则仍将使用原有周期任务的资源组。
运行时间段
指定本次生成的补数据任务在什么时间执行。
指定时间段:可指定开始执行补数据实例的时间。
跟随任务配置(默认值):正常为立即运行,若运行业务日期为今天或未来时间,且未勾选立即运行的情况下,将按照实例定时时间执行。
说明超过该时间段且处于未运行状态的任务不会执行,超过该时间段但处于运行中状态的任务会继续执行。
管理补数据实例
补数据任务启动后,会生成相应的补数据实例,您可进入运维中心,单击左侧导航栏的 ,查看补数据实例的基本信息及运行详情,并进行终止运行、重跑等管理操作。
区域 | 描述 |
1 | 单击展开搜索,可通过补数据名称、运行状态、节点类型等条件筛选需要查询的实例,也可快速批量终止正在运行的补数据任务。 |
2 | 在该区域,您可以查看补数据实例的相关信息,主要包括:
在该区域,您可对补数据实例执行如下操作:
|
3 | 在该区域,可查看补数据实例所包含节点的相关信息,包括:
在该区域,可对节点任务执行如下操作:
|
4 | 您可以在区域3勾选多个目标节点任务,在本区域(区域4)单击终止运行或重跑,即可批量终止运行或重新运行所选的节点任务。 |
实例状态说明
状态类型 | 状态标识 |
运行成功状态 | |
未运行状态 | |
运行失败状态 | |
正在运行状态 | |
等待状态 | |
冻结状态 |