标签加工
使用场景:数据开发人员需对部分数据行记录进行打标,并提供标签资产供消费,以满足用户画像等场景。
使用角色:数据开发人员。
功能描述:平台提供数据标签加工能力,可创建数据标签加工作业,选定打标数据表及配置打标规则,并将标签发布供后续消费人员在数据开放模块消费。
新建
- 进入数据开发 > 数据标签 > 标签加工界面,点击界面上方的“新建标签加工”按钮,在新建页面中按要求填写信息后保存即可,同时在数据开发 > 数据标签 > 标签管理界面会出现一条与作业名称相同的数据标签记录,用于管理标签资产。
基本信息
- 标签所在数据表:必填,下拉单选,可选择DWD及以上层级的数据表,不可选择无业务权限数据表,可选择其他空间授权的跨空间数据表,同一个数据表只可被一个标签加工作业选择;
- 标签标识字段:必选,下拉选择字段作为识别数据记录行的唯一标识,不可选择无业务权限字段,否则标签值将无法准确打标至某一行数据记录;
- 标签信息对象:必选,下拉选择标签值的关联对象,不可选择无业务权限字段,不允许选择json、text、xml类型字段,推荐选择业务含义明确的字段,在查看打标结果时会显示该字段值以确认是否符合预期,如“优秀选择”标签关联学生姓名或编号,允许和“标签标识字段”重复;
- 数据标签中文名:必填,用户根据实际业务场景手动输入数据标签中文名称;
- 提供方:必填,下拉选择组织机构,即该标签的来源组织;
- 责任人:必填,下拉选择用户作为该标签责任人,当前仅为业务层面责任人,不会在加工打标时进行相关权限校验;
- 资源标签:非必填,可多选自定义资源标签;
- 关联目录:非必填,点击按钮后可勾选多个目录进行关联目录,可用于后续按目录检索及数据开放按目录展示;
- 参考依据:非必填,可多选,下拉选择已发布标准文件名称,后续查看指标时可下载标准文件;
- 描述:非必填,用户可以根据实际业务场景或数据标签加工创建用途等信息填写;
加工规则(必填)
- 新增标签值:点击后下方新增一个标签值定义组,可独立设置标签值、字段、加工方式;
- 数据标签值:用户手动输入,支持输入数值或中文,作为最终生成打标的值,如“优秀学生”,后续满足规则的数据行都将打上该标签值;
- 加工方式:单选,平台提供两种加工方式,包括内置规则和自定义规则;
- 加工逻辑:
- 内置规则可选中每个所选字段,分别设置,不可选择无业务权限字段;其中选则“大于m且小于n”时,需分别输入m=xxx&n=xxx
- 自定义规则无需选中字段,提供脚本输入框自行定义,支持SQL条件表达式,如 age > 15
- 判定逻辑:加工方式为内置规则时出现,可设置各字段规则的加工逻辑关系,默认为全部规则满足,可设置为任一规则满足。
修改
进入数据开发 > 数据标签 > 标签加工界面,选中目标数据标签加工作业,点击操作栏“修改”按钮即可修改。
- 标签加工作业已上线,或标签资产已发布则不允许修改;
- 标签加工不允许修改标签所在表、标签标识字段、标签信息对象,因为标签是基于以上数据表信息进行加工,变更后可能会造成下方加工规则全部无效,若需对其他表加工,建议新建标签加工。
删除
进入数据开发 > 数据标签 > 标签加工界面,点击列表操作列的“删除”按钮,二次确认后可删除标签加工。
- 标签加工作业已上线,或标签资产已发布则不允许删除;
- 删除标签加工作业会同步删除数据开发 > 数据标签 > 标签管理界面的同名数据标签,反之亦然。
调度配置
使用场景:用户通过周期性调度实现持续的数据标签加工。
使用角色:数据开发人员。
功能描述:平台支持时钟触发的方式,为数据标签加工作业提供统一调度,可选择分钟、小时、日、周、月不同粒度的调度频率,实现周期性调度管理。
进入数据开发 > 数据标签 > 标签加工界面,点击列表操作列中“调度配置”按钮,在弹窗中填写页面信息后“保存”即可。
时钟触发
- 生效日期:在该日期区间调度配置正常运行,否则自动下线该流程;
- 永久生效:勾选后作业永久生效,生效日期置灰无需填写,取消勾选后则生效日期必填;
- 调度周期:可选分钟、小时、日、周、月,请选择合适的周期进行配置;
- 具体时间:在生效日期范围内,作业调度具体开始时间,精确到小时、分钟,部分周期支持配置时间间隔;
- 超时时间:当调度任务运行起来后,在该超时时间范围内必须运行完成,否则则认定为超时并强制结束该任务;
- 未来5次执行时间:时钟触发配置完成后,自动生成未来5次的调度时间,用以预览配置是否符合期望。
- 计算模式:
- 增量计算:初次全量计算进行标签加工后,后续仅对增量数据计算标签加工(增量数据不包括发生变更的历史数据) ;
- 全量计算:每次计算都会先清空历史标签加工结果,再对全量数据计算标签加工。
- 调度周期为日、周、月时,可选择多个具体时间,最多支持设置10个不重复的具体时间,即可存在10个corn表达式,注意“1日、2日、3日10:00”为1个corn表达式
事件触发
作业依赖
- 上游依赖:通过新增上游依赖作业,并配置各上游作业的依赖策略,以及所有上游作业的依赖触发关系,即可按上游作业的运行状态判断触发当前作业。
- 作业选择:支持同频、异频依赖,即可选择依赖任意周期作业;注意
标签加工作业仅支持选择“数据加工”作业作为上游依赖
- 具体时间:指上游依赖作业调度开始具体时间,如;00:00 5分,即每日00:00开始跑,每隔5分钟调度一次
- 依赖策略:所选范围内,成功次数达到配置值即触发,不要求连续成功;完全满足次数条件才可触发,次数不足或正好存在满足次数的在运行中等特殊情况均视为不满足条件,不触发;(立即运行成功、重试后成功都算成功次数)
- 强制等待:默认不勾选,即无需等待上游未完成任务运行完成便进行依赖触发判定;勾选后则需等待上游运行完成后再进行根据运行结果依赖触发判定;作业未运行完成状态包括准备运行、等待运行、正在运行;
- 等待示例:如上下游作业均为10:00调度,下游设置上游依赖为近1次内1次成功,则到达调度时间,上游作业任务启动运行,下游需等待上游任务运行完成后根据终态结果再进行依赖触发判定;
- 不等待示例:如上下游作业均为10:00调度,下游设置上游依赖为近1次内1次成功,则到达调度时间,上游作业任务启动运行,此时近1次为未完成状态而非运行成功,因此立即判定不满足依赖触发条件,下游任务直接跳过运行;
- 判定对象说明:等待过程中仅依据第一次等待时的任务实例进行判定。如B的任务B2在第一次上游等待判定时A存在A1、A2两个中间态从而进入等待队列,从等待队列出来进行再次判定时,A又产生了新的A3任务,但B2的判定条件依旧时关注A1、A2是否变为终态。
- 依赖策略-时间说明:选择不同依赖频率,判定上游作业成功次数的时间范围均为“近自然时间内”,如自然日、自然周、自然月,再基于当前作业的计划执行时间向前推,具体如下:
- 分钟,当前计划执行时间为03:30开始,间隔20分钟,则第一次查询当前计划执行时间前20分钟,即03:10-03:30的上游作业成功次数,以此类推
- 小时,当前计划执行时间为03:30开始,间隔2小时,则第一次查询当前计划执行时间前两小时,即01:30-03:30的上游作业成功次数,以此类推
- 日,当前计划执行时间为每日22:00,则查询当天00:00-22:00的上游作业成功次数;若作业未能按计划准时运行,则最多可查询当天00:00-23:59的结果
- 周,当前计划执行时间为周三12:00,则查询本周一至周三12:00的上游作业成功次数;若作业未能按计划准时运行,则最多可查询本周一至周天23:59的结果
- 月,当前计划执行时间为每月15日,则查询当月1日至当前日期15日计划执行时间的上游作业成功次数;若作业未能按计划准时运行,则最多可查询当月最后一天23:59的结果
- 依赖关系:支持添加多个上游依赖作业,并设置“与”、“或”关系,“与”为上游作业全部满足条件,“或”为上游作业任一满足条件即可
- 作业依赖触发逻辑:所选范围内,成功次数达到配置值即触发,不要求连续;立即运行成功、重试后成功都算成功;完全满足次数条件方可触发,次数不足或正好存在满足次数的在运行中等特殊情况均视为不满足条件,不触发,如配置为近10次全部成功,上游作业前9次均成功,但第十次正在运行中,则视为不满足依赖策略,下游作业不触发,直接跳过运行。 -说明:作业依赖初始时,即上游作业均尚未第一次运行,可能造成第一个调度周期跳过,为避免此情况,请通过立即运行解决。
- 作业选择:支持同频、异频依赖,即可选择依赖任意周期作业;
举例说明- 月度标签场景:作业A为按日调度加工作业,作业B为月度数据打标作业,B依赖A,则可在B作业的依赖配置中选择A为上游作业,并配置依赖策略为1 {月} ,{全部}成功;
- 常规场景:若无特殊时间要求,仅需上游作业最近一次运行成功即触发下游作业,则可配置依赖策略为1 {次} ,{1}成功,即为最近一次成功。
- 上游依赖:通过新增上游依赖作业,并配置各上游作业的依赖策略,以及所有上游作业的依赖触发关系,即可按上游作业的运行状态判断触发当前作业。
- 作业依赖链路:展示当前作业所有上下游依赖链路,包括已下线作业,若用户手动解除依赖或将作业删除,则自动解除依赖,且不再展示依赖链路关系。
运行策略
- 作业运行人:作业运行人默认为当前创建用户,仅空间管理员可修改;若开启业务、资源权限管控,作业运行时会以作业运行人的数据库账号进行校验并执行作业任务,若存在作业运行人无权限数据表、资源,则作业运行失败
- 作业优先级:必填,默认为高,当多个任务在等待队列排队时,队列槽位释放后,级别高的任务会优先进入运行队列执行;即首先按优先级调度任务,同一优先级按时间顺序调度任务;调整优先级不影响当前排队任务,下一调度生效
- 运行队列:必填,提供默认队列作为默认值,可选择已配置队列,无权限队列则过滤不显示;当多个作业并发运行时,超过队列槽位数的作业任务会排队等待;立即运行,未配置队列时使用默认队列执行任务
- 队列最大等待时长:非必填,仅可填写整数,超过等待时长的任务自动取消排队,不再执行,可清空不填则为永久等待直至进入运行队列;未设置则一直排队,不会自动取消
- 调度冲突策略:自身作业多个调度任务实例堆积时的处理策略;默认为等待,即后续任务实例排队等待前面任务实例运行完成方才运行,当前限制最大等待100个任务,超过则按忽略处理;忽略,则后续任务实例自动忽略取消运行,直至不再堆积后新的任务实例才会按计划运行
- 失败重试次数:作业级失败重试,默认为0,即不重试,最大可配置重试5次
若未配置运行策略时,立即运行等非正常调度场景将使用系统默认配置,其中队列最大等待时长默认为60分钟、调度冲突策略默认为等待;若已配置运行策略,则立即运行等非正常调度场景也将使用配置策略
立即运行
标签加工规则配置完成后,点击列表操作栏的“立即运行”按钮即可立即计算加工作业中所有标签值,并可在运维监控 > 调度管理界面查看立即运行结果,或在数据开发 > 数据标签 > 标签管理查看标签详情页“数据预览”。
上下线
平台可通过在标签加工界面可手动调整作业状态,需要用户完成派生指标加工规则以及调度周期配置后作业方可上线,上线后作业按调度周期运行。作业下线后用户可重新对当前作业进行修改、调度周期配置等操作,下线后作业需重新上线方可运行。
- 当存在运行中的任务,点击“下线”会提示用户是否终止正在运行中的任务,可按需选择;
- 标签加工作业可在运维监控 > 调度管理查看调度详情。