博客 袋鼠云产品功能更新报告08期|指标管理篇

袋鼠云产品功能更新报告08期|指标管理篇

   数栈君   发表于 2023-12-05 11:21  802  0

新增功能更新


1.指标结果表历史数据支持行级更新

  新增功能说明  

背景:绩效考核场景下,绩效分配规则由业务人员制定,通常规则的推出具有滞后性,即,规则是2023年4月1日推出,规则的生效时间从2023年1月1日开始执行,此时就需要对自2023年1月1日以来的数据做更新。全表更新的方式效率慢、占用资源大,只对受影响的行做更新将可缩短更新周期,对业务正常使用影响也相对较小。


新增功能说明:

行更新的整体操作流程如下:

• 创建数据模型时,对于源表涉及到行更新的 hudi 表,将其设置为需要行更新,创建模型后,系统将为该表提供一个接口,供传入变更数据条件。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/dd1af9aa3109a2edca6ca3843685d250..jpg


• 根据需要创建对应的指标,因模型中使用到了行更新表,后续指标都将通过 Spark 计算,存储为 Hudi 表,同时,因 Spark 暂不支持并发写 Hudi 表,调度中涉及到的跨周期依赖内容需要选择自依赖




调用该表的行更新接口,传入变更条,接口信息可通过「数据源管理」中的表详情查看。系统将根据提前设置好的更新频率,针对已经接收到的变更记录,自动识别所有指标表中受影响的行,计算出新的结果后对历史数据做批量更新,若数据的行更新具有紧迫性,也可点击「行更新」立即执行

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/0991f9e67c5b59f038f0deb24d6a9d2e..png


• 【数据源管理】模块中查询相关记录变更后的后续指标的行更新进度

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/5c2fa63fedc8ef604828194d9461e16a..png

(新增功能示意图)


2.指标目录支持进行权限控制

  新增功能说明  

背景:基于指标安全级别,需要将不同的指标授权给不同的人使用,通常指标目录是按业务划分,考虑操作的复杂性,计划将指标授权功能放到指标目录曾经,通过指标目录控制目录下所有指标的查看/编辑权限。


新增功能说明:

点击目录右侧的「授权」按钮,打开目录授权窗口。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/f3c433051fc220fcfc0eb49183356e3d..png


授权页面,系统会默认将新创建的目录设置为全员可编辑,在此基础上,可修改为全员可查看、部分用户可编辑;也可关闭全员设置,只对部分用户开放查看、编辑操作。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/804ead5491041dbffd389e9495f3c87c..png


授予权限的用户可看到该目录下的所有指标,新建/编辑指标时也可选择有权限的目录。


3.指标支持自定义添加 UDF 函数

  新增功能说明  

背景:系统目前支持的函数均为 Trino 支持的系统函数,在此基础上,会有部分场景需要用到用户自定义的函数,如:取上周一所在日期,该内容需要通过自定义函数来实现。


新增功能说明:

针对 Trino385 版本,可在「函数管理」模块创建 Trino 自定义函数,创建成功的自定义函数可在自定义指标中被引用。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/134c5ac7163737c62c1bd826f9dc5361..png

第一步:在平台创建自定义函数前,需要先写好自定义函数插件,并将文件打包成 zip 包。


第二步:点击「新建自定义函数」进入函数设置窗口,配置函数信息并将打包好的文件上传。


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/b89265d235ca9d294991bbeff28ca6d9..png




第三步:进入自定义指标新建/编辑页面,编写 SQL 并调用自定义函数。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/cd08c18ffe131c1b56838a51ffe8585d..png

(新增功能示意图)


4.统计周期增加时间参数:上季初、上月初、上月末、上年初

  新增功能说明  

背景:绩效考核场景下,统计周期涉及统计上月、上季、上年的汇总数据,对应的时间参数需要支持 yyyyMMdd、yyyy-MM-dd 格式的上季初、上月初、上月末、上年初参数。


新增功能说明:

• 上季初:bdp.system.preqrtrstart、bdp.system.preqrtrstart2

• 上月初:bdp.system.premonthstart、bdp.system.premonthstart2

• 上月末:bdp.system.premonthend、bdp.system.premonthend2

• 上年初:bdp.system.preyrstart、bdp.system.preyrstart2


5.支持基于指标结果表生成的新模型做行更新

  新增功能说明  

背景:绩效考核场景下,存在根据模型1创建指标1,并将指标1的结果作为模型2的数据源表,需要实现模型1的表进行行更新后,指标1和模型2的指标均可进行行更新。


新增功能说明:指标提供行更新状态跟进接口,业务通过接口调用状态,再调用下一个模型进行更新。


• 数据模型设置的表选自 Hive Catalog 时,不需要设置行更新、更新方式可修改;选择 Hudi Catalog 时,需要设置行更新


• 数据源管理中仅展示 Hudi 数据源


• 需要行更新的表,设置删除方式可选择两种:

1)物理删除:表的数据删除是直接做删除。此时需要保证表开启 CDC 或文件存储方式是 op_key_only/data_before_after,否则,系统将无法追踪到变更前后的数据差异

2)逻辑删除:表的数据删除是以某一删除字段的值变化做区分,此时需要指定删除字段,以及对应取值


• 对应的查询各指标行更新进度可通过接口查询:

1)入参:表信息、请求id、行更新涉及模型标识/指标标识/API 名称

2)出参:模型/指标/API 针对所需表&所需请求批次的更新状态、表数据更新开始时间、表数据更新结束时间

• 行更新相关的指标 Hudi 表的建表语句做相应调整


功能优化


1.指标共享增加详情信息显示

  体验优化说明  

背景:指标共享模块功能改版,不方便查看已共享指标/模型的共享规则。


体验优化说明:点击共享的指标/模型名称,可查看对应的内容详情,包括共享信息及共享规则。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/007a4288ae3889d580e7206498239bac..png

(体验优化示意图)


2.指标共享生成的视图创建规则调整

  体验优化说明  

背景:基于行更新功能产生 Spark 读写数据的场景,因 Spark 暂不支持查询 Trino 视图,需将视图从由 Trino 创建改为由 Spark 创建。


体验优化说明:

• 指标/模型共享过程中涉及到的视图改为通过 Spark 创建


• 共享指标、模型生成的视图名称变更
1)模型视图名称:表名_项目id_模型 code_index_view
2)指标视图名称:指标结果表_项目 id_index_view


3.模型/指标更新的下游联动更新

  体验优化说明  

背景:指标加工过程中,存在上游配置项变更的情况,此时,下游对应的对应 SQL 需做同步更新,以保证全局高效配置,功能统一,代表使用场景如下:


• 客户使用过程中,会存在模型的表的分区字段/维度对象属性配置等信息变更的情况,编辑的技术信息变更后,当前只针对维度勾选上的增减做下游联动更新,其余技术信息的变更也需要联动更新


• 客户计算指标时,存在同一指标不同统计区间内的加工口径不一样的情况,此时,表内将根据口径作用时间同时存在两个口径下的数据,如:2022年数据是口径1的结果,2023年数据是口径2的结果


体验优化说明:

• 模型修改表关联后,原子指标、派生指标联动更新 SQL,将模型部分的 SQL 更新至新版本,同时,若落表的模型选择的表发生变更,模型结果表将采用删表新建表的方式更新模型表


• 模型中的选择维度修改关联维度对象、关联维度属性后,原子指标引用的维度对象、维度属性信息同步更新


• 模型中修改上游任务依赖,派生指标中的上游任务配置同步调整


• 模型/指标维度减少,导致下游指标用到的维度消失时,使用删表、重新建表的方式进行更新指标表


• 模型使用的源表字段类型发生变更时,后续引用该字段的指标表使用删表、重新建表的方式进行更新指标表


4.行更新性能优化

  体验优化说明  

第一版行更新是以分区为单位进行优化,整体速度较慢,本次优化定位到分区内的特定行进行优化,提升整体行更新效率。



《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群