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