2022年11月重要功能更新
以下功能在 V3.1.0及以上版本可使用
事件调度支持输入依赖的AND/OR设置以及多次运行
应用场景
目前的事件调度机制下,所有依赖数据集的事件到达后方可触发工作流运行;在实际生产场景中,有些数据模型后续支撑的应用场景有多个,因此在部分数据集满足的情况下,也可以调度执行,避免出现所有场景都无数可用的情况,所以依赖策略上还会存在如下两种情形:
任一依赖数据集到达后可触发,后续其他依赖数据集事件再次到达后继续触发运行;
依赖的N个数据集中的关键数据集到达后可触发,后续再次到达后继续触发运行。
功能介绍
事件调度支持三种触发方式:
"所有依赖数据集的事件到达后触发",打开依赖设置的所有数据集生成事件到达后触发。
"任一依赖数据集的事件到达后触发",打开依赖设置的任一数据集生成事件到达后触发。
"勾选的必要依赖数据集事件到达后触发",打开依赖设置并设置必要依赖的所有数据集生成事件到达后触发,支持指定关键数据集的必要依赖属性。
工作流-数据流的超时策略优化
应用场景
在数据流运行过程中,有可能会出现由于资源、SQL逻辑错误等原因导致运行时间过长,导致计算资源被恶意占用或外层工作流无法结束的情况。因此,需要工作流-数据流节点扩展支持超时失败,在超出预期运行时间的情况下主动失败。
功能介绍
数据流节点-超时限制扩展支持"超时失败"选项,超时时间为数据流内的多个子任务的叠加运行时间。
工作流Python节点支持容器化运行
应用场景
当前工作流Python节点运行是在容器内部或宿主机运行一个Python进程,没有进行资源限制,若任务资源占用较高,可能导致服务器宕机。且在平台拥有AI运行环境的情况下,将存在两套Python环境,可能导致运行结果及数据规范不一致,引起使用冲突。因而将平台Python环境统一优化为:根据用户配置的资源限制,通过k8s动态起pod的方式运行Python任务,以避免不同环境所带来的数据结果冲突,并针对不同Python任务特性,动态进行合理的资源调整。
功能介绍
1.容器化运行方式默认不开启,可联系观远技术人员进行启用。
2.开启容器化运行后,相关配置如下:
入口:工作流-Python-配置项
默认配置:
内核数:不限制
内存:5G
工作流实例界面默认展示独立运行实例
在父工作流引用了多个子工作流的情况下,进入工作流实例界面时,将按照运行时间将子工作流及父工作流共同平铺展示,在子工作流较多的情况下,无法及时看到主工作流的运行状况并进行相关的运维工作。
对应优化如下:
1.搜索栏支持运行方式筛选
2.进入工作流实例界面,默认仅展示独立运行(即通过手动/调度方式发起运行)的工作流,不展示被工作流调用运行的子工作流实例。如需展示子工作流实例或全部实例,可通过上方筛选器进行切换。
数据集支持批量导入字段注释
应用场景
在不通过创建数据结构,而是通过任务流(工作流/数据流等)创建数据集时,字段注释信息只能通过手动编辑的方式逐一进行补充,效率低且出错概率高。
通过支持批量导入字段注释,对数据字典完善工作进行提效。
功能介绍
入口:数据中心-数据集-详情页-数据结构-导入注释
1.选择数据字典文件类型及待匹配文件
2.选择关联列及注释列
关联列:选择导入文件中的字段名列作为关联列,与数据集已有字段名进行同名匹配。如匹配成功,则将导入文件中对应列的注释更新至平台;
注释:数据字典文件中待导入的注释列;
3.单击[确认导入],数字结构中的注释信息被更新成功。
数据开发平台支持项目及场景任务间的计算资源隔离
应用场景
跨项目资源隔离
多部门/多场景协作,在组织机构繁多的大KA或数据应用团队较多的客群中,选择数开都是作为基础数仓建设的角色,底层公共数据的管理和建设会由一个部门或者一个团队统一承担,从资源使用角度来看,需要考虑不同部门角色/不同场景的资源限额,来保证相互之间不会发生资源争抢,导致整体数据处理时效降低的情况。
跨场景资源隔离
在一个项目内,有ETL正常调度、数据集预览、ETL开发调试等场景,All in One的资源使用方式下,开发过程和正常生产调度会存在资源争抢相互影响的情况,最终导致开发体验不佳或生产数据产出时效偏低。
除以上场景外,在对生产服务器登陆要求非常高的客户中,是无法直接登陆服务器进行平台参数修改的,因此对于计算资源的调整也需要提供在线化的操作方式。
功能介绍
入口:管理中心-资源中心-计算资源管理,展示当前计算资源的使用情况、所有计算单元的资源配额以及活跃情况,并支持进行在线化的启停和编辑。
计算单元创建完成后需要进行路由规则的编辑,目前数据开发平台的路有规则参数支持projectId和taskType。projectId为项目ID,在平台url中可以查询获取。
taskType为目前开发平台将任务类型进行OFFLINE和ONLINE的归类。
taskType | 包含的任务场景 |
OFFLINE | 数据集相关操作(查询、主键/分区设置、行数统计)、工作流/数据流开发过程中的预览和SQL语法校验。 |
ONLINE | 工作流/数据流/数据质量模型的全部运行行为(定时调度、事件调度、手动运行、补数运行)、数据探查。 |
支持项目资源及任务运维监控
应用场景
通过运维监控展示项目运维人员需要关注的重点指标信息,例如项目内重点资源的使用概况、工作流及其节点的运行详情、数据集更新情况等,帮助开发者快速定位运行异常,提升运维及问题分析效率。
功能介绍
入口:平台监控-运维监控
分模块介绍:
1.资产概况
2.工作流运行
1)重点关注实例
显示当天已生成的工作流实例中,需要重点关注的问题实例,如:失败实例、超时停止实例、未调起实例,支持跳转到问题实例列表页进一步做问题分析。
显示当天已生成的实例状态分布,用于评估整体运行情况。
2)今日分时段实例趋势
显示当日00:00~23:59,当前项目内工作流实例的运行情况。可基于折线图,对比今日和昨天/最近7天/历史自定义时间的同一时段内,处于运行成功/运行中等状态的工作流实例的数量。如在同样的调度规范下,某段区间的折线偏差过大,则说明存在待分析的异常实例。
3)周期性运行分析
通过右上方时间选择器,筛选需要进行统计的工作流实例范围。
运行实例类型
显示选定时间范围内,已生成的工作流实例调起类型。通过手动运行、调度运行、工作流引用运行的实例占比,辅助判断当前项目的调度结构。
实例数量趋势
在选定时间范围内,按天展示已生成的工作流实例的数量及运行结果,用于评估实例增长/减少情况是否符合运行预期,异常运行情况是否及时得到解决等。
工作流运行统计
支持按照工作流运行时长、等待时长、失败次数的维度进行排序,筛选出异常工作流列表。
单击工作流名称,在右侧散点图中可展示该工作流在选定时间范围内的运行情况。
通过纵向同时段对比,定位同时段运行异常工作流;
通过横向不同时段对比,对比不同时段工作流运行特征;
4.数据集更新概况
通过右上方时间选择器,筛选需要进行统计的数据集更新时间范围。
更新概况
支持按照数据集近30天更新次数、引用数、数据量的维度进行排序,筛选出异常更新的数据集列表。
单击数据集名称,在右侧散点图中可展示该数据集在选定时间范围内每日数据量及日环比增长率,确认其增长情况是否符合预期。
数据质量模型结果支持可视化分析
应用场景
用户在正常开发/运维过程中,需要对数据集质量进行分级追踪,如出现较为重大的质量问题,将第一时间进行告警及排查,而中、低优先级质量问题,更适合通过看板周期性进行分析及优化,其主要意义在于:
1.快速为平台内重点数据集质量情况提供客观数据化反馈,进行开发提效;
2.通过周期性分析,挖掘隐藏质量问题;
功能介绍
入口:平台监控-数据质量监控
分模块介绍:
1.今日/历史运行概况
展示今日/历史选定时间段内,每日的数据质量模型运行情况(显示数据质量模型当日的最终运行结果,及通过率等信息)。
单击各质量模型状态标识,联动查看当日/历史某日的质量模型运行详情,详见下文2。
2.运行详情
根据上一步选择的模型日期及状态属性,展示该日对应状态的数据质量模型最后一次运行记录。
模型检测列表:按照模型通过率从高到低展示所有已运行质量模型内部规则的运行结果。
单击质量模型名称,可联动模型规则明细表,查看各规则的运行明细。
运行明细操作:
单击查看错误数据详情
单击查看规则历史运行通过率
3.运行排行
支持在选定时间范围内,按照检测次数、不通过次数、警告次数进行质量模型排序,筛选出异常运行的质量模型。
单击质量模型名称,在右侧散点图中可展示该质量模型在选定时间范围内的运行记录。
通过纵向同日期对比,查看质量模型是否有不符合预期的多次运行记录(原则上质量模型的更新周期应与其目标数据集一致),及各次运行结果。
通过横向不同日期展示,查看不同日期的运行时间、运行次数、运行结果是否符合调度期望。(例如原定每日06:00取数,但运行后检测到新数据未抽取上来,模型运行失败,如该现象频发,则可考虑调整取数时间,避免无效运行)