2023年已过半,袋鼠云开发团队和产品团队对数栈产品本身以及客户反馈的问题和痛点进行了持续性的更新和优化,包括对 EasyMR 监控告警功能的更新,以及对离线开发平台表生命周期逻辑的优化等,力求满足不同行业用户的更多需求,为用户带来极致的产品使用体验。
以下为袋鼠云产品功能更新报告06期内容,更多探索,请继续阅读。
EasyMR
新增功能更新
背景:因为环境或者代码 bug 导致单个进程影响整个平台使用,目前是手动重启服务解决问题,时效性低、成本相对较高。
新增功能说明:EasyMR 新增 CGroup 进程管控功能,对 linux 的一组进程包括 CPU、内存、磁盘 IO、网络等在内的资源使用进行限制、管理和隔离。
2.Hadoop Admin 用户启动
背景:Hadoop3 版本使用 admin(普通)用户(sudo 权限)主机接入,无法使用普通用户启动服务。
新增功能说明:Hadoop3 版本支持利用 admin(普通)用户(sudo 权限)主机接入,支持使用普通用户启动服务。
3.业务数据库适配 TDSQL
背景:某客户要求全数栈产品对接客户 TDSQL。
新增功能说明:EasyMR 安装脚本支持配置外部数据源。
cd em-release-4.6.1-beta //执行install.sh进行部署 $./install.sh 部署机器的ip 执行./install.sh后选择功能菜单中的升级功能,输入数字1:
4.仪表盘升级更新
背景:EasyMR 更新时,仪表盘会跟随 EasyMR 产品包一起部署。客户老版本的仪表盘可能存在变更情况,需要对客户老版本的仪表盘进行保留,同时更新上传新增仪表盘。
新增功能说明:EasyMR 升级时,仪表盘会跟随 EasyMR 产品包一起部署:
• EasyMR 升级时覆盖老版本仪表盘,保留客户自建仪表盘
• 备份历史仪表盘到本地环境
5.【监控告警】告警频率
背景:当前告警信息一天只发送一次,很容易被忽略掉,对于比较严重的告警已经影响到客户的业务使用,需要多次提醒尽快处理。
新增功能说明:三级告警间隔设置,告警首次触发之后根据告警等级触发告警间隔,告警间隔为:
• 严重告警:5分钟
• 一般告警:6小时
•提示告警:24小时
6.自定义 logo
背景:EasyMR 分商业版、开源版,不同版本的 logo 不同,同时存在客户自定义 logo 的需求,因此需要支持 logo 自定义配置。
新增功能说明:通过配置文件支持自定义 logo 及文案,logo 文案配置步骤如下:
• 上传新 logo 到“/data/easymanager/dtstack-runtime/images/”目录下;
• 修改 docker-compose.yml 配置文件中 PRODUCTNAME、volumes 参数,示例:
7.健康检查异常服务重启
背景:服务多次健康检查异常时,服务基本处于不可用状态,需要支持多次异常服务重启服务保证服务的可用性。
新增功能说明:支持通过产品包 Schema 配置健康检查的频次、是否重启。
8.EasyMR 服务高可用
背景:EasyMR 存在单点故障、低性能和容量瓶颈等问题,为了保障服务的可靠性和稳定性,降低平台服务中断风险,需要平台进行高可用改造。
新增功能说明:对EasyMR 自身服务进行高可用改造,监控组件暂不支持高可用。
9.NTP 服务自动重启
背景:NTP 作为一种用于同步计算机系统时间的网络协议,服务可能会出现故障或异常,导致系统时间不准确,进而影响到数据的一致性和分析结果的准确性。
新增功能说明:对 NTP 服务添加服务监控,服务down机后自动重启 NTP 服务,以提升服务的可用性和稳定性,保障系统时间的准确性,降低人工干预成本。
10.MySQL数据自动备份
背景:在 EasyMR 中 MySQL 数据库扮演着关键的角色,用于存储和管理平台服务数据及监控告警信息。传统情况下,MySQL 数据的备份通常需要人工介入进行操作,人工备份容易出现疏忽导致备份遗漏或不完整,备份过程中对系统产生较大的负载,并且人工备份需要耗费大量时间和资源。
新增功能说明:通过脚本设置定时任务来实现 MySQL 数据的自动备份到指定服务器,实现数据异地备份。
11.Dashboard 支持分集群监控
背景:Dashboard 仪表盘仅支持按主机节点筛选查看,无法按集群分类监控,影响运维人员对集群级别的监控运维。
新增功能说明:增加集群下拉选择框,支持按集群级别进行监控。
12.HDFS 数据均衡
背景:随着数据量的增长和频繁的数据写入、删除操作,HDFS 上的数据可能会出现分布不均的情况,即某些节点上的数据负载较大,而其他节点上的数据负载较轻,当 HDFS 上的数据分布不均时,会导致部分节点资源过度利用,造成性能瓶颈,降低数据读写速度和查询效率。同时,还会导致资源浪费,一些节点的存储容量得不到充分利用,影响整个大数据管理平台的性能和可用性。
新增功能说明:HDFS-Datanode 服务,操作中新增「数据均衡」功能:
• Bandwidth:数据均衡带宽,默认值 5(MB/s)
• Balancer Threshold:数据均衡平衡度阈值,通过设置合适的 HDFS Balancer Threshold,可以避免过于频繁触发数据均衡操作,从而降低对集群性能和网络带宽的影响,同时,还能够确保集群中的数据分布保持在一个相对平衡的状态,提高整体性能和资源利用率
功能优化
1.Ldap 配置页提示
背景:Ldap 配置参数规则复杂,非专业人士很难理解 Ldap 配置参数含义及配置规则。
体验优化说明:新增 Ldap 配置页参数提示:
• 新增配置页参数「管理员账号」、「baseDN」、「用户过滤」、「用户组过滤」默认规则
• 新增参数「baseDN」、「用户过滤」、「用户组过滤」hover注释
2.服务配置注释
背景:由于服务配置参数较多,仅通过参数名称很难确定参数含义,因此需要对参数进行中文注释同时对参数使用进行说明。
体验优化说明:
• 支持参数名+参数注释模糊搜索 • 配置参数在 Schema 中维护参数的中文名称 • 新增「操作」按钮,原「重置」、「添加参数」、「配置下发」、「滚动重启」功能统一放到「操作」按钮下,原功能逻辑不变 • Schema 中维护参数的使用说明注释
3.分级告警
背景:EasyMR 支持分级告警,Grafana 现版本5.1.3 存在诸多漏洞问题,需要进行版本升级。
体验优化说明:Grafana 现版本5.1.3 升级到新版本 Grafana 8.5.15,支持三级告警「严重告警、次要告警、提示告警」:
• 严重告警:告警规则对应资源发生紧急故障,影响业务视为紧急告警 • 次要告警:告警规则对应资源存在相对不太严重点问题,此问题不会阻碍资源的正常使用 • 提示告警:告警规则对应资源存在潜在的错误可能影响到业务
4.配置参数加密
背景:配置参数中例如 password、user 信息需要进行加密展示,但经常出现参数为 xxx_pass 也需要进行加密,目前由后端进行参数关键词匹配再对值进行加密,特殊需求适配性不好。
体验优化说明:产品打包时,在 Schema 中标记参数是否为敏感参数,由后端进行参数值加密显示。
离线开发平台
新增功能更新
1.数据源
背景:目前在数据源页面中查看 meta 数据源的 schema,只能在 jdbc url 中查看,对于用户来说不方便。
新增功能说明:数据源页面展示当前项目的schema名称,以及能做meta schema的快捷查找,新增 meta schema 的筛选项,并将 meta schema 作为单独的字段进行展示。
2.【数据开发】Hive SQL
• Hive SQL 支持语法提示、表联想:
在 SQL 编写时,离线 IDE 支持表名、字段名、关键字、函数名等内容的语法提示
• Hive SQL 运行日志支持实时打印、展示任务运行进度、支持任务停止:
Hive SQL 执行临时运行时,展示执行进度并实时打印日志,日志包含执行的 map、reduce 的情况,任务运行过程中,支持停止运行
3.资源支持版本管理
资源版本支持记录资源最近的十个版本,支持对版本资源进行「回滚至此版本」「下载」「删除」操作。
4.【数据同步任务】字段变化
当数据同步任务的字段发生变化时,可通知字段的变化及影响的任务信息。
数据同步中新增元数据校验高级参数“metadataCheck”,当值为“true”时,对于数据同步任务的临时运行/周期实例运行/补数据实例运行/手动实例运行前检查源表或目标表的表结构是否发生变更(字段增加、字段减少、字段类型变更),如果有变更则实例状态变为提交失败,并会在日志中打印变更内容。
如果任务配置了告警规则,且触发条件是“失败”时,则会在告警中打印失败原因和字段变动情况。
5.支持给任务打标签
背景:客户期望可以给任务打标签,比如给部分任务打上“合同”的标签,给部分任务打上“客商”的标签,可以按标签去执行运维操作,例如:补数据、告警。
新增功能说明:在数据开发页面,支持创建标签和给任务指定标签,并在运维中心进行补数据和告警配置操作时,支持以标签为维度进行任务配置。
6.离线支持代码检查规则
• 在「数据资产->数据治理」中可以开启或新增代码检查规则
• 在「离线开发->项目管理->操作设置」中支持开启代码规则和选择生效范围,目前仅支持创建 Hive SQL、Spark SQL、Impala SQL、Inceptor SQL 四种任务的代码检查规则
• 开启规则后,在 IDE 界面中可以手动进行 SQL 规范性检查,在日志中打印检查结果,任务运行和提交时也会进行 SQL 规范性检查
7.任务保存支持版本管理
• 增加保存版本的版本记录,记录未提交仅保存的内容
• 在发生异常/系统自动登出时会自动保存,并在用户重新登录时进行提示
8.任务目录支持自定义排序
在「项目管理->操作设置」中支持开启自定义目录排序,可以自由拖动任务、临时查询、资源、函数、组件、标签和文件夹改变目标结构;关闭自定义目录排序后,任务和文件夹按默认方式排序(名称首字母排序),禁止自由拖动。
9.在 guardian 进行权限校验
Inceptor SQL 运行时支持用数栈账号绑定的 Idap 账号进行任务提交的用户认证,并在 guardian 进行权限校验。
用户使用数栈账号登录,UIC 绑定 Idap 账号,由 tdh 自己的 guardian(类似 ranger)实现权限策略的配置,数栈关闭 web 层权限管控,所有的权限判断经过 guardian 策略,使用 Idap 账号登录 guardian 提交任务。在如图所示位置配置 guadian 的代理地址。
10.数据同步
• TiDB、GaussDB、GreenPlum 作为数据源的数据同步任务配置时支持选择 Schema
• MySQL 同步 Sharding-Proxy 插件支持向导模式读取
• 数据同步支持 OceanBase 读取和写入
11.HashData 数据同步读写
HashData 支持作为数据同步的源端和目标端,支持源端时支持自定义 SQL、数据过滤、切分键填写(并发读写)、断点续传、增量同步;作为目标端时支持导入前准备语句、导入后准备语句、一键生成目标表、主键冲突时支持 insert 和 update。
支持作为整库同步的目标端和源端。
12.StarRocks 数据同步读写
StarRocks 支持作为数据同步的源端和目标端。作为源端时支持自定义 SQL、不支持数据过滤、不支持切分键填写(StarRocks flinkx 是用 streamload 同步的,不需要指定切分键,只要指定并发数,SQL 的执行计划里就会按对应的并发自己拆分出来多通道同步)、不支持断点续传、不支持增量同步。
作为目标端时不支持导入前准备语句、不支持导入后准备语句、支持一键生成目标表、主键冲突时仅支持update。支持作为整库同步的目标端和源端。
13.TDengine 数据同步读取
TDengine 支持作为数据同步的源端,支持源端时支持自定义 SQL、数据过滤、切分键填写(并发读取)、断点续传、增量同步。支持作为整库同步的源端。
14.运维中心异常树构建
背景:当实例在提交和运行过程中出现异常情况,无法直观地进行原因分析,比如:
• 当前实例一直处于等待提交状态没有按计划时间开始运行,是哪个或哪些上游出现异常导致的?
• 当前实例运行失败或超时,会影响哪些下游实例?
新增功能说明:
异常树构建能够很好地解决以上的问题:
• 在实例调度流程中,上游依赖检查中,如果“上游依赖中存在异常”,将会打印出所有阻塞实例信息(所属租户、所属项目、所属产品、责任人、状态)
• 实例调度流程展示流程完成日期和时间
• 实例依赖视图展示当前实例的定位
15.运维中心
背景:目前对 Hive SQL 任务的运行支持比较薄弱,例如没有打印出 yarn 上的日志,一旦任务开始执行便无法中止,比较影响数据开发用户的调试。客户期望对效率低、占用资源高的任务进行识别和及时管控。
新增功能说明:支持对 Hive SQL 实例进行运行过程的资源使用情况展示,并对于实例进行资源监控并配置告警。
• Hive SQL 实例的「实例详情->运行记录」中展示任务资源使用走势图
• 创建告警规则时,支持对 Hive SQL 资源占用情况进行监控
功能优化
1.运行任务优化
背景:在「数据开发」菜单中临时运行任务后,切换到其他菜单,运行的任务将会停止。
体验优化说明:运行任务时切换菜单,不会停止正在执行的任务。
2.表生命周期逻辑优化
背景:如果客户有大量短生命周期的表,生命周期到期后表元数据信息不删除,导致元数据中心有大量的临时表,不仅元数据查询性能受影响,数据同步的表等需要查询表信息的地方会有大量不必要的内容存在。
体验优化说明:
• 分区表:当前日期 - 当前分区的数据最后更新时间 > 生命周期,则删除该分区,表的所有分区删除后表的元数据信息删除
• 非分区表:当前日期 - 表的数据最后更新时间 > 生命周期,则清空表中数据,表的元数据信息删除
3.工作流优化
• 工作流样式优化
• 工作流子节点新增运行方式:运行当前节点、从当前节点开始运行和运行至当前节点
• 工作流支持圈选,圈选后新增运行方式:运行至选中节点、从选中节点开始运行
4.GP表查询优化
• 可查看的表的范围为资产中已经元数据同步过的所有 Schema 的所有表
• 元数据实时刷新
5.ddl 操作管控支持的 SQL 类型完善
完善后支持所有任务类型 SQL 语句的 ddl 操作管控。
6.发布功能优化
背景:当前发布流程有很多校验内容,包括任务上游、函数、资源、资源组映射、数据源映射等,发布的时候可能会有内容缺漏,非常容易造成发布失败,平台需要把缺漏的内容流程化一次性提示给用户,且需要能够支持一些内容的修改替换,以优化发布体验。
体验优化说明:发布时,会在发布包中校验引擎、数据源、资源组、任务、上游依赖、资源、函数、组件、表及责任人,并展示校验结果。针对发布失败的校验项,会给出优化提示。
7.报错提示优化
项目新建失败是由数据源导致时,会明确提示信息:数据源名称、数据源类型、错误原因。
8.适配高可用配置 Hive 集群地址
若控制台配置 Hiveserver 和 Inceptor 采用的是 zk 连接模式,离线端支持获取数据源信息。
9.新建工作流任务类型带上“工作流”选项
此前新建工作流任务类型时,默认展示还是“数据同步”任务,现优化默认选中“工作流”选择。
10.所有代码任务支持版本回滚
Impala SQL、Oracle SQL、Greenplum SQL、AnalyticDB PostgreSQL、MySQL、SQL Server、TiDB SQL、GaussDB SQL、Trino SQL、HANA SQL、HashData SQL、StarRocks SQL 任务支持版本对比和版本回滚(目前所有代码任务均支持了版本对比和版本回滚)。
11.任务默认运行方式调整
默认分段运行:GaussDB SQL、Oracle SQL、TiDB SQL、Trino SQL、MySQL、SQL Server、Hana SQL、ADB SQL、HashData SQL、StarRocks SQL、Inceptor SQL、Impala SQL
默认整段运行:Hive SQL、Spark SQL、Greenplum SQL
12.数据同步任务中仅可选择项目对接的 Schema
数据同步时选择当前项目的 meta 数据源,只能选择当前项目的 meta schema。
数据同步时选择引入其他项目的 meta 数据源,只能选择引入数据源的 meta schema。
13.ES 作为目标数据源时,支持指定主键字段构成
背景:在 ES 作为数据同步目标端的任务中,默认将所有字段都作为主键字段,会导致主键值过长,使任务失败,因此需要离线侧进行优化,不要默认将所有字段都作为主键字段。
体验优化说明:在字段映射时,支持指定主键包含的字段。
14.运维中心优化
• 告警配置中勾选任务责任人,只有自己作为责任人的任务报错时,才会给任务责任人发送告警信息
• 任务补数据支持配置告警规则
实时开发平台
新增功能更新
1.新增【运维总览】模块
背景:之前实时平台的运维都是针对单任务的,缺乏全局性的运维统计和分析能力,并且缺乏对运行中任务的监控分析。因为实时任务一旦运行失败,就会立即对线上数据服务产生影响,我们希望能在任务失败之前,就能发现各种潜在风险。
新增功能说明:新增【运维总览】菜单,支持统计项目任务总数、状态分布、类型分布,通过健康分模型,对每个运行中的任务进行健康评分。
2.新增【全局告警】功能
背景:之前的实时任务告警规则,需要在每个任务的运维页面单独配置,相当于以任务维度进行管理。但是在实际开发中,比如任务失败这种场景,一般需要对每个任务都进行配置,但是这样在每个任务上单独操作又非常繁琐。
新增功能说明:新增【全局告警】功能,以规则维度进行管理,每个规则可同时应用到多个任务上。
3.新增【日志关键词】监控告警规则
背景:实时任务在运行过程中,往往会出现任务状态运行正常,但是实际日志已经开始出现各种报错信息的情况,比如 Exception、Error、Fail 等,这类关键词的出现意味着任务的不稳定。我们需要在任务真正失败之前及时感知到运行日志中出现了这类关键词,然后提前去解决。
新增功能说明:全局告警新增【日志关键词】规则,平台自动创建相应的实时监控任务,前提是需要在任务开发时,开启该任务的日志打印功能。
4.告警规则新增【告警级别】、【告警恢复】配置项
背景:之前的告警规则没有区分等级,用户同时收到较多告警时,不确定需要先处理哪个问题,并且告警问题修复后,也没有通知消息,运维成本相对较高。
新增功能说明:新增告警级别(紧急/重要/次要/提示);告警规则新增是否开启恢复通知配置项。
5.新增【数据源】适配
• FlinkSQL 源表、结果表新增支持 Ckafka、CMQ 数据源类型
• Flink1.10 支持的 HBase2.x 和 Phoenix5.x 插件,适配 Flink1.12
• FlinkSQL 维表、结果表新增 Hyperbase 数据源
• Flink1.10 支持的实时采集 PGWal 插件,适配 Flink1.12
• Kafka 读取类型新增 Raw Format
功能优化
1.优化【字段级血缘解析】能力
背景:之前实时平台的字段级血缘解析只支持根据当前任务的 FlinkSQL 去解析,没有进行上下游串联,用户无法回溯或者下钻上下游关联字段。
体验优化说明:字段级血缘支持上下钻查询。(建议配合表级血缘一起分析,因为字段级血缘是纯 SQL 解析,不携带任务信息)
2.数据还原 SINK 端表名生成逻辑优化
背景:原先数据还原任务的 SINK 端表名生成,会自动拼接 Stream 等前缀。容易出现不符合内部数开的表名命名规则,拼接后导致表名太长无法正常创建等问题。
体验优化说明:SINK 端自动创建的表名,支持两种模式:默认和源表相同、支持在源表名的基础上拼接自定义内容。
3.向导开发模式,Kafka 支持自动映射
背景:之前实时平台的 FlinkSQL 任务开发,对于 Kafka Topic 的映射操作非常麻烦,需要用户查询 JSON 中的每个 KEY,配置成 Flink 表的字段,如果需要做上百个字段的映射,也需要人肉操作。开发往往选择在应用外想办法完成批量映射,再粘贴到平台内,交互比较差。
体验优化说明:Kafka Format 新增 OGG-JSON/ CHUNJUN-JSON,支持对这类 JSON 数据实现一键映射:
• 一键采集线上样例数据,自动完成映射
• 手动输入样例数据,一键完成映射
4.Checkpoint 语义优化
背景:之前实时任务的 Checkpoint 恢复语义是放在环境参数中配置的(和开源 Flink 相同),但实际并不生效。因为 Flink 的实现是基于开源改造过的,状态恢复语义需要在任务的结果表中进行 semantic 参数配置。
体验优化说明:调整环境参数中的状态恢复语义提示文案,引导开发至结果表参数中配置。FlinkSQL 任务默认为 at-least-once(保障实时性)、数据还原任务默认为 exactly-once(保障准确性)。
数据资产平台
新增功能更新
1.监控数据变更
背景:客户希望某些场景发生数据变更的时候,支持对比前后不同时间的数据,比如需要对比昨天和今天不同分区的数据,此场景可以通过对接控制台自定义参数来满足。
新增功能说明:数据质量支持对接控制台自定义参数,涉及到质量的单表、多表的自定义 SQL、过滤条件的地方都需要修改,支持点击直接复制参数。
2.数据标准/词根导出
• 数据标准导出:支持数据标准按照目录批量导出,满足无平台权限部门线下对齐数据标准下发规范的需求
• 词根导出:支持词根按照目录批量导出,满足无平台权限部门线下对齐词根的规范需求
3.Trino 跨源校验支持 TDSQL、Inceptor
背景:项目上需要实现 TDSQL 表和 Inceptor 表的跨源校验
新增功能说明:数据源中心 connector 配置新增 TDSQL、Inceptor,Trino 支持 TDSQL、Inceptor 的单表、多表、规则集校验
• Trino 的 Inceptor:已支持 Inceptor 的质量校验,通过 Trino 引擎连接 Inceptor 时,单表、多表、规则集校验功能与 Inceptor 本身保持一致
• Trino 的 TDSQL:TDSQL与 MySQL 类似,通过 Trino 引擎连接 TDSQL 时,单表、多表、规则集校验功能与 MySQL 类似
4.自定义角色
背景:满足客户侧自由设定不同角色的权限点,不同客户可能会有不同的需求,目前的角色固定权限点的方式不够灵活,自由新增角色且配置权限点,可以满足不同客户的角色及对应权限点的个性化需求。
新增功能说明:
• 资产平台可查看相关角色及权限点配置:
• 设置-角色管理可进行角色配置和权限点指定:
5.代码规则检查
背景:数据开发人员代码水平不一,导致代码书写混乱,SQL 代码运行问题较多,利用 SQL 检查规则规范化 SQL 代码,对代码书写问题进行拦截,便于统一管理,用于预防引入需要治理的问题。
新增功能说明:
• 规则管理:支持内置规则,同时也支持注册规则,满足不同客户的个性化代码检查规范
• 内置规则:
• 注册规则:
• 注册规则文件:
• 生效环节:检查规则支持对文件提交、运行的前置事件进行检查
• 生效结果:检查开启后,设定为阻塞的检查规则,检查不通过将阻塞对应事件的流程;设定为提示的检查规则,检查不通过时离线侧可忽略提示,仍然正常提交。检查规则触发后发现的事件称之为检查规则事件。
功能优化
1.实时字段血缘优化
• 字段血缘新增上下钻,相当于根据表级血缘的关系,将多个任务的字段级血缘串联起来
• 默认只展示当前任务结果表的选中字段的一级上下游(之前只有上游,因为只解析当前任务,没有串联)
• 如果上下游字段还有自身的上下游血缘,icon 显示,点击继续上下钻一级
2.部分前端页面UI升级
• 资产盘点
• 数据地图
• 元数据同步
• 元数据质量-完整度分析
3.质量规则优化
• 创建任务回滚机制:
当质量任务绑定离线任务时,绑定失败,质量任务仍然会创建成功,需要做到两个之中任意一个失败了,质量规则创建失败
• 脏数据存储变更,质量任务重新提交:
切换完独立数据校验要重新保存一下任务,不然去获取脏数据时查的是独立库,但是 SQL 跑的是之前的库,在切换脏数据独立存储后,把相关任务重新提交,包括新增/编辑
数据服务平台
新增功能更新
1.SQL 生成 API 操作符支持修改
背景:生成 API SQL 中参数的操作符由平台自动解析,不支持修改,存在解析错误的情况。
新增功能说明:操作符仍由平台自动解析,如解析有问题可手动修改(注意此处仅做显示的修改,不影响代码中的实际逻辑)。
2.API 输入参数
• API 输入参数支持设置常量和时间变量默认值:配置了默认值的输入参数若调用时没有传值则以默认值进行查询
• API 输入参数支持按正则表达式和计算表达式做校验:输入参数列表中可对单个参数配置正则表达式的校验规则,用来进行例如手机号、身份证号等有标准格式的入参内容的校验,另外高级配置中可以选择进行计算表达式的校验,用于多个入参关系的校验
3.角色权限点变更
角色权限点新增 API 市场可查看的 API 范围。API 查看范围权限点枚举值:无查看权限、可查看租户下所有项目的 API、可查看租户下当前用户所在项目的 API。
4.数据权限
数栈平台内对接的 Trino 数据源的权限判断对接数据安全。开启数据安全时,平台内直接创建或对接的 Schema 会以当前用户账号判断 Ranger 上的数据权限。
5.API 告警规则圈选 API 时支持全选
全选后,API 后续在新增和删除时平台会动态调整圈范围。
客户数据洞察平台
新增功能更新
1.衍生标签、组合标签加工过程支持 SQL 预览
背景:标签加工过程中,通过规则配置的结果开发不确定是否是其想要的内容,此时,开发人员会希望可以看到 SQL 内容,以确定结果的准确性。
新增功能说明:衍生标签、组合标签加工过程中支持通过「试计算」功能预览 SQL 详情。
2.数据同步至 HBase 数据库
背景:创建实体或发布动态群组后,仅运行 Hive 大宽表任务,但不会运行 Hive-HBase 的数据同步任务,导致当日建的实体或群组,当日无法调用 API,需要等周期实例运行后才能用API。
新增功能说明:新建/编辑实体或动态群组后,支持立即将数据同步至 HBase 数据库。
• 创建/编辑实体:调用临时运行接口,跑 Hive 大宽表任务,Hive 到 HBase 的大宽表同步任务
• 发布(编辑已发布的)动态群组:调用临时运行接口,跑 Hive 群组任务,Hive 到 HBase 的群组同步任务
3.重跑历史数据
背景:数据同步任务重跑历史实例时,只删除数据,不删除表,当标签数量变更后,字段出现了不一致的情况,此时会出现任务运行失败。
新增功能说明:发布的标签变更后,根据最新发布标签情况重跑历史数据,数据同步任务重跑历史实例时,调整为删除表后重新创建表同步数据。
4.支持二次进行数据同步
背景:用户可能由于 HBase 建表失败导致同步任务失败,此时即便任务重跑也不行,因为当前重跑并不支持建表,而用户无法建表。
新增功能说明:HBase建表失败后,支持二次进行数据同步,重跑时,根据源表结构创建建 HBase 表,如果表结构一致,可不用重新创建。
5.HBase 建表条件
背景:HBase 表创建是通过定时任务创建,而无论这个任务是否冻结都会创建,这样会产生很多无用的空表,占用大量 HBase 的 Region 和 zk 内存资源。
新增功能说明:HBase建表条件调整为针对未冻结且未删除的任务定时建表。定时任务建表时只创建未冻结且未删除任务的表,任务解冻之后,用户重跑或补数据时先创建表再重跑同步任务。
6.导入标签&上传本地群组时,支持匹配日期类型字段
• 上传本地群组:支持日期类型的匹配维度,但客户上传数据的日期格式需与大宽表的字段格式保持一致,否则报错
• 导入标签:支持匹配维度支持日期类型的匹配维度,但客户上传数据的日期格式需与大宽表的字段格式保持一致,否则报错
功能优化
1.数据模型权限控制优化
背景:当前数据模型功能除 admin、租户所有者/管理员外,其他角色不可查看、新增数据模型,但实际使用中,更多的是项目级别的管理员进行数据模型的创建、编辑操作,对于权限要求高的客户来说,不便于将项目管理员调整为租户管理员,导致流程卡住。
体验优化说明:admin、租户所有者/管理员、项目所有者/管理员可以对数据模型进行操作,其他角色按照原来的规则,进到页面不可查看、操作。
指标管理平台
新增功能更新
1.指标 API 生成的 Hive 大宽表支持生命周期设置
背景:指标 API 生成过程中会在 Hive 中存储一份数据,需要同步支持生命周期设置。
新增功能说明:指标 API 设置中,区分 Hive、HBase 数据源进行数据生命周期设置。
2.增加维度管理模块,支持设置维度对象、维度属性
背景:
目前指标产品只支持一层维度,用户选择起来麻烦。如“客户”有“客户ID、客户名称、客户手机号”等维度,当用户在派生和复合层选择时,需要一个个点。
客户方会有复合指标依赖的2个派生指标用到同一个维度的需求,两个维度未在数据模型中做关联,从而导致无法在当前项目内创建复合指标。
新增功能说明:
• 「指标中心」-「数据管理」新增「维度管理」模块
• 新增“维度对象”、“维度属性”概念,一个维度对象包含多个维度属性,支持一个维度对象下不同的维度属性来源于不同的维度表,支持一个维度属性关联不同的维度表
• 增加主维表、次维表概念。每个维度对象有一张主维表,多张次维表,主维表主要起到批量创建维度属性的作用,次维表主要起到关联维度属性的作用,后续用于识别维度一致性,新建维度对象时,同步选择主维表,批量生成维度属性,后续新增维度属性可通过「新建维度属性」实现,将其他次维表字段关联到已有维度属性通过「关联维度属性」实现
3.数据模型支持落表
背景:派生指标是基于模型所用的源表进行指标加工,实际使用中,使用同一模型的多个派生指标频繁重复使用数据源时,当数据源的数据量较大时,加工效率会变慢,此时需要将模型落表以提高加工效率。
新增功能说明:「新建模型」中的【第五步:设置】中的模型存储选项,选择存储为物理表,并配置表信息、调度信息,包括表名称、任务名称调度周期、出错重试,也需要设置数据生命周期信息。指标发布后,系统将提交模型任务周期计算数据落表。
4.数据模型中选择的拉链表支持自定义匹配日期字段
背景:数据模型中设置了一个增量分区表(左表),并匹配了一个拉链表(右表),左表包含两个时间字段(一个是用于分区的时间字段,另一个是用于和拉链表的开始/结束时间做匹配的时间字段),目前平台只支持匹配分区时间字段,不支持普通的时间字段,导致模型无法正常创建。
新增功能说明:【第二步:表关联】模型关联表中添加的关联表为拉链表时,拉链表的开始、结束时间可选择直接匹配左表的分区字段(业务日期),也可匹配左表的某一特定的时间字段(左表时间自定义)。
5.增加业务限定模块
背景:派生指标加工过程中,针对同一模型、相过滤条件,针对不同聚合维度、不同计算公式需要生成不同的派生指标的场景,为提高指标加工效率,过滤条件可抽离出来在上层进行业务管理时提前生成业务限定,后续直接引用即可。
新增功能说明:增加业务限定模块,支持批量设置指标计算过滤条件
• 「指标中心」-「数据管理」新增「业务限定」模块
• 新增/编辑业务限定
• 派生指标加工时的过滤条件设置变更为业务限定选择
6.统计周期增加上季末、上年末参数
背景:指标加工过程中,会有加工季度末、年度末的统计周期设置需要,当前无法通过可视化加工实现,只能通过自定义指标实现,本次功能迭代通过可视化配置方式实现该需求场景.
新增功能说明:
上季末参数:${bdp.system.preqrtrend}
上年末参数:${bdp.system.preyrend}
统计周期设置上季末的数据的设置方式如下:
7.统计周期支持自定义周期标识
背景:统计周期之前只支持设置周期名称,当名称变更后,未被通知到的用户不易正确识别到所需周期,本次加入周期标识,方便定位周期唯一性。
新增功能说明:新增统计周期时,可配置周期标识,字段在周期列表中同步展示。
8.指标表名称支持自定义
背景:客户加工表的过程中,会根据自己的特定规则生成表名称,目前指标生成的表名称是根据系统内置条件生成,不便于客户定位表。
新增功能说明:新增指标的「设置调度信息」步骤中,设置指标表名称(编辑时不可修改)。
9.试计算增加表结构预览
背景:未生成指标表前,客户仅能根据 SQL 判断表内的字段信息,为方便查看表结构,在查看 SQL 信息的同时,可通过可视化方式查看对应的表结构信息。
新增功能说明:
10.复合指标支持自定义关联键
背景:历史功能是将选择的维度作为关联键,生成如下SQL:select A.性别,avg(A.消费金额 / B. 消费人数) from A left join B on A.性别 = B.性别。
但实际 SQL 编写中,存在聚合维度与关联键设置不一致的情况,期望生成下列 SQL:select A.性别,avg(A.消费金额 / B. 消费人数) from A left join B on A.user_id = B.user_id,实际加工结果与期望不符。
新增功能说明:「维度设置」模块的「关联键选择」自定义设置多个关联键,若两个字段的字段类型不一致,需要选择需要转换的字段类型,以保证关联键可以正常匹配。
功能优化
1.复合指标运行过程中产生的临时表删除逻辑优化
背景:复合指标运行周期任务实例、运行补数据实例时会针对公式中的各指标生成 Hive 临时表,当任务运行失败时,临时表未进行及时清理,造成客户存储资源浪费。
体验优化说明:每天定时清除2天前生成的临时表。
2.原子指标加工方式升级,可自定义公式
背景:原来的原子指标是将模型字段做直接映射,映射后的原子指标需先生成派生指标/复合指标,再与其他指标表做加工,此时需要有公共维度存在,否则无法进行指标加工,无法满足维度不一致的字段的加工。
体验优化说明:原子指标层针对模型可自定义公式,以解决上述指标加工场景,后续派生指标将直接引用原子指标定义的公式进行数据计算。
3.派生指标的技术信息设置方式变更
• 维度选择:由取原子指标的维度改为取原子指标所引用模型的维度(显示对应的维度对象、维度属性信息),并可针对一批维度批量选中对应的维度对象
• 过滤条件设置:由原来的根据模型依次配置条件调整为直接引用业务限定中配置的业务限定规则,可一次添加多个业务限定规则
4.复合指标规则设置模块功能划分优化
背景:之前的规则设置模块功能划分中,过程指标的条件设置与指标结果的设置均放到了维度设置中,点击单个指标的操作范围不便于理解,基于操作习惯、理解难度对功能模块重新做了划分。
体验优化说明:整体包含三个模块:维度设置、结果设置、过程指标详情:
• 维度设置:包含复合指标结果表所需的维度、各过程指标结果表关联方式及关联键选择
• 结果设置:保存精度、取整方式、为空默认值、计量单位
• 过程指标详情:针对单个过程指标设置维度过滤、结果过滤条件
5.SQL 指标 Catalog 解析优化
背景:SQL 指标中没有解析 SQL 语句中用到的 Catalog,导致 SQL 指标后续进行复合指标、API 查询时报错。
体验优化说明:
• 解析 SQL 指标语句,解析 Catalog、表级血缘关系、字段级血缘关系
• 修复复合指标、API 查询 SQL 指标时的报错
《数据治理行业实践白皮书》下载地址:https://fs80.cn/380a4b
《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1
想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szalykfz
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack