以下为袋鼠云产品功能更新报告06期内容,更多探索,请继续阅读。
背景:因为环境或者代码 bug 导致单个进程影响整个平台使用,目前是手动重启服务解决问题,时效性低、成本相对较高。
背景:Hadoop3 版本使用 admin(普通)用户(sudo 权限)主机接入,无法使用普通用户启动服务。
3.业务数据库适配 TDSQL
背景:某客户要求全数栈产品对接客户 TDSQL。
4.仪表盘升级更新
新增功能说明:EasyMR 升级时,仪表盘会跟随 EasyMR 产品包一起部署:
• 备份历史仪表盘到本地环境
5.【监控告警】告警频率
背景:当前告警信息一天只发送一次,很容易被忽略掉,对于比较严重的告警已经影响到客户的业务使用,需要多次提醒尽快处理。
• 严重告警:5分钟
• 一般告警:6小时
•提示告警:24小时
6.自定义 logo
新增功能说明:通过配置文件支持自定义 logo 及文案,logo 文案配置步骤如下:
• 上传新 logo 到“/data/easymanager/dtstack-runtime/images/”目录下;
7.健康检查异常服务重启
背景:服务多次健康检查异常时,服务基本处于不可用状态,需要支持多次异常服务重启服务保证服务的可用性。
新增功能说明:对EasyMR 自身服务进行高可用改造,监控组件暂不支持高可用。
背景:在 EasyMR 中 MySQL 数据库扮演着关键的角色,用于存储和管理平台服务数据及监控告警信息。传统情况下,MySQL 数据的备份通常需要人工介入进行操作,人工备份容易出现疏忽导致备份遗漏或不完整,备份过程中对系统产生较大的负载,并且人工备份需要耗费大量时间和资源。
背景:Dashboard 仪表盘仅支持按主机节点筛选查看,无法按集群分类监控,影响运维人员对集群级别的监控运维。
• Bandwidth:数据均衡带宽,默认值 5(MB/s)
• Balancer Threshold:数据均衡平衡度阈值,通过设置合适的 HDFS Balancer Threshold,可以避免过于频繁触发数据均衡操作,从而降低对集群性能和网络带宽的影响,同时,还能够确保集群中的数据分布保持在一个相对平衡的状态,提高整体性能和资源利用率
背景:Ldap 配置参数规则复杂,非专业人士很难理解 Ldap 配置参数含义及配置规则。
• 新增参数「baseDN」、「用户过滤」、「用户组过滤」hover注释
2.服务配置注释
背景:由于服务配置参数较多,仅通过参数名称很难确定参数含义,因此需要对参数进行中文注释同时对参数使用进行说明。
体验优化说明:
• 支持参数名+参数注释模糊搜索 • 配置参数在 Schema 中维护参数的中文名称 • 新增「操作」按钮,原「重置」、「添加参数」、「配置下发」、「滚动重启」功能统一放到「操作」按钮下,原功能逻辑不变 • Schema 中维护参数的使用说明注释
3.分级告警
体验优化说明:Grafana 现版本5.1.3 升级到新版本 Grafana 8.5.15,支持三级告警「严重告警、次要告警、提示告警」:
• 严重告警:告警规则对应资源发生紧急故障,影响业务视为紧急告警 • 次要告警:告警规则对应资源存在相对不太严重点问题,此问题不会阻碍资源的正常使用 • 提示告警:告警规则对应资源存在潜在的错误可能影响到业务
4.配置参数加密
背景:配置参数中例如 password、user 信息需要进行加密展示,但经常出现参数为 xxx_pass 也需要进行加密,目前由后端进行参数关键词匹配再对值进行加密,特殊需求适配性不好。
体验优化说明:产品打包时,在 Schema 中标记参数是否为敏感参数,由后端进行参数值加密显示。
1.数据源
背景:目前在数据源页面中查看 meta 数据源的 schema,只能在 jdbc url 中查看,对于用户来说不方便。
2.【数据开发】Hive SQL
• Hive SQL 运行日志支持实时打印、展示任务运行进度、支持任务停止:
Hive SQL 执行临时运行时,展示执行进度并实时打印日志,日志包含执行的 map、reduce 的情况,任务运行过程中,支持停止运行
3.资源支持版本管理
资源版本支持记录资源最近的十个版本,支持对版本资源进行「回滚至此版本」「下载」「删除」操作。
4.【数据同步任务】字段变化
如果任务配置了告警规则,且触发条件是“失败”时,则会在告警中打印失败原因和字段变动情况。
5.支持给任务打标签
背景:客户期望可以给任务打标签,比如给部分任务打上“合同”的标签,给部分任务打上“客商”的标签,可以按标签去执行运维操作,例如:补数据、告警。
新增功能说明:在数据开发页面,支持创建标签和给任务指定标签,并在运维中心进行补数据和告警配置操作时,支持以标签为维度进行任务配置。
6.离线支持代码检查规则
7.任务保存支持版本管理
• 增加保存版本的版本记录,记录未提交仅保存的内容
8.任务目录支持自定义排序
在「项目管理->操作设置」中支持开启自定义目录排序,可以自由拖动任务、临时查询、资源、函数、组件、标签和文件夹改变目标结构;关闭自定义目录排序后,任务和文件夹按默认方式排序(名称首字母排序),禁止自由拖动。
9.在 guardian 进行权限校验
10.数据同步
支持作为整库同步的目标端和源端。
作为目标端时不支持导入前准备语句、不支持导入后准备语句、支持一键生成目标表、主键冲突时仅支持update。支持作为整库同步的目标端和源端。
14.运维中心异常树构建
背景:当实例在提交和运行过程中出现异常情况,无法直观地进行原因分析,比如:
• 当前实例运行失败或超时,会影响哪些下游实例?
新增功能说明:
• 在实例调度流程中,上游依赖检查中,如果“上游依赖中存在异常”,将会打印出所有阻塞实例信息(所属租户、所属项目、所属产品、责任人、状态)
• 实例依赖视图展示当前实例的定位
15.运维中心
背景:目前对 Hive SQL 任务的运行支持比较薄弱,例如没有打印出 yarn 上的日志,一旦任务开始执行便无法中止,比较影响数据开发用户的调试。客户期望对效率低、占用资源高的任务进行识别和及时管控。
新增功能说明:支持对 Hive SQL 实例进行运行过程的资源使用情况展示,并对于实例进行资源监控并配置告警。
• Hive SQL 实例的「实例详情->运行记录」中展示任务资源使用走势图
• 创建告警规则时,支持对 Hive SQL 资源占用情况进行监控
1.运行任务优化
背景:在「数据开发」菜单中临时运行任务后,切换到其他菜单,运行的任务将会停止。
体验优化说明:运行任务时切换菜单,不会停止正在执行的任务。
2.表生命周期逻辑优化
体验优化说明:
3.工作流优化
• 工作流样式优化
• 工作流子节点新增运行方式:运行当前节点、从当前节点开始运行和运行至当前节点
• 工作流支持圈选,圈选后新增运行方式:运行至选中节点、从选中节点开始运行
• 可查看的表的范围为资产中已经元数据同步过的所有 Schema 的所有表
• 元数据实时刷新
6.发布功能优化
背景:当前发布流程有很多校验内容,包括任务上游、函数、资源、资源组映射、数据源映射等,发布的时候可能会有内容缺漏,非常容易造成发布失败,平台需要把缺漏的内容流程化一次性提示给用户,且需要能够支持一些内容的修改替换,以优化发布体验。
体验优化说明:发布时,会在发布包中校验引擎、数据源、资源组、任务、上游依赖、资源、函数、组件、表及责任人,并展示校验结果。针对发布失败的校验项,会给出优化提示。
7.报错提示优化
项目新建失败是由数据源导致时,会明确提示信息:数据源名称、数据源类型、错误原因。
8.适配高可用配置 Hive 集群地址
9.新建工作流任务类型带上“工作流”选项
此前新建工作流任务类型时,默认展示还是“数据同步”任务,现优化默认选中“工作流”选择。
10.所有代码任务支持版本回滚
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。
背景:在 ES 作为数据同步目标端的任务中,默认将所有字段都作为主键字段,会导致主键值过长,使任务失败,因此需要离线侧进行优化,不要默认将所有字段都作为主键字段。
体验优化说明:在字段映射时,支持指定主键包含的字段。
14.运维中心优化
• 告警配置中勾选任务责任人,只有自己作为责任人的任务报错时,才会给任务责任人发送告警信息
• 任务补数据支持配置告警规则
1.新增【运维总览】模块
背景:之前实时平台的运维都是针对单任务的,缺乏全局性的运维统计和分析能力,并且缺乏对运行中任务的监控分析。因为实时任务一旦运行失败,就会立即对线上数据服务产生影响,我们希望能在任务失败之前,就能发现各种潜在风险。
2.新增【全局告警】功能
背景:之前的实时任务告警规则,需要在每个任务的运维页面单独配置,相当于以任务维度进行管理。但是在实际开发中,比如任务失败这种场景,一般需要对每个任务都进行配置,但是这样在每个任务上单独操作又非常繁琐。
3.新增【日志关键词】监控告警规则
背景:实时任务在运行过程中,往往会出现任务状态运行正常,但是实际日志已经开始出现各种报错信息的情况,比如 Exception、Error、Fail 等,这类关键词的出现意味着任务的不稳定。我们需要在任务真正失败之前及时感知到运行日志中出现了这类关键词,然后提前去解决。
4.告警规则新增【告警级别】、【告警恢复】配置项
背景:之前的告警规则没有区分等级,用户同时收到较多告警时,不确定需要先处理哪个问题,并且告警问题修复后,也没有通知消息,运维成本相对较高。
新增功能说明:新增告警级别(紧急/重要/次要/提示);告警规则新增是否开启恢复通知配置项。
5.新增【数据源】适配
• FlinkSQL 源表、结果表新增支持 Ckafka、CMQ 数据源类型
• Flink1.10 支持的 HBase2.x 和 Phoenix5.x 插件,适配 Flink1.12
• Flink1.10 支持的实时采集 PGWal 插件,适配 Flink1.12
• Kafka 读取类型新增 Raw Format
背景:之前实时平台的字段级血缘解析只支持根据当前任务的 FlinkSQL 去解析,没有进行上下游串联,用户无法回溯或者下钻上下游关联字段。
体验优化说明:字段级血缘支持上下钻查询。(建议配合表级血缘一起分析,因为字段级血缘是纯 SQL 解析,不携带任务信息)
2.数据还原 SINK 端表名生成逻辑优化
体验优化说明:SINK 端自动创建的表名,支持两种模式:默认和源表相同、支持在源表名的基础上拼接自定义内容。
3.向导开发模式,Kafka 支持自动映射
体验优化说明:Kafka Format 新增 OGG-JSON/ CHUNJUN-JSON,支持对这类 JSON 数据实现一键映射:
• 一键采集线上样例数据,自动完成映射
• 手动输入样例数据,一键完成映射
体验优化说明:调整环境参数中的状态恢复语义提示文案,引导开发至结果表参数中配置。FlinkSQL 任务默认为 at-least-once(保障实时性)、数据还原任务默认为 exactly-once(保障准确性)。
1.监控数据变更
2.数据标准/词根导出
• 数据标准导出:支持数据标准按照目录批量导出,满足无平台权限部门线下对齐数据标准下发规范的需求
新增功能说明:数据源中心 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.质量规则优化
• 创建任务回滚机制:
当质量任务绑定离线任务时,绑定失败,质量任务仍然会创建成功,需要做到两个之中任意一个失败了,质量规则创建失败
• 脏数据存储变更,质量任务重新提交:
背景:生成 API SQL 中参数的操作符由平台自动解析,不支持修改,存在解析错误的情况。
新增功能说明:操作符仍由平台自动解析,如解析有问题可手动修改(注意此处仅做显示的修改,不影响代码中的实际逻辑)。
3.角色权限点变更
4.数据权限
数栈平台内对接的 Trino 数据源的权限判断对接数据安全。开启数据安全时,平台内直接创建或对接的 Schema 会以当前用户账号判断 Ranger 上的数据权限。
全选后,API 后续在新增和删除时平台会动态调整圈范围。
1.衍生标签、组合标签加工过程支持 SQL 预览
背景:标签加工过程中,通过规则配置的结果开发不确定是否是其想要的内容,此时,开发人员会希望可以看到 SQL 内容,以确定结果的准确性。
2.数据同步至 HBase 数据库
新增功能说明:新建/编辑实体或动态群组后,支持立即将数据同步至 HBase 数据库。
• 创建/编辑实体:调用临时运行接口,跑 Hive 大宽表任务,Hive 到 HBase 的大宽表同步任务
• 发布(编辑已发布的)动态群组:调用临时运行接口,跑 Hive 群组任务,Hive 到 HBase 的群组同步任务
3.重跑历史数据
背景:数据同步任务重跑历史实例时,只删除数据,不删除表,当标签数量变更后,字段出现了不一致的情况,此时会出现任务运行失败。
4.支持二次进行数据同步
背景:用户可能由于 HBase 建表失败导致同步任务失败,此时即便任务重跑也不行,因为当前重跑并不支持建表,而用户无法建表。
背景:HBase 表创建是通过定时任务创建,而无论这个任务是否冻结都会创建,这样会产生很多无用的空表,占用大量 HBase 的 Region 和 zk 内存资源。
新增功能说明:HBase建表条件调整为针对未冻结且未删除的任务定时建表。定时任务建表时只创建未冻结且未删除任务的表,任务解冻之后,用户重跑或补数据时先创建表再重跑同步任务。
6.导入标签&上传本地群组时,支持匹配日期类型字段
• 上传本地群组:支持日期类型的匹配维度,但客户上传数据的日期格式需与大宽表的字段格式保持一致,否则报错
• 导入标签:支持匹配维度支持日期类型的匹配维度,但客户上传数据的日期格式需与大宽表的字段格式保持一致,否则报错
1.数据模型权限控制优化
背景:当前数据模型功能除 admin、租户所有者/管理员外,其他角色不可查看、新增数据模型,但实际使用中,更多的是项目级别的管理员进行数据模型的创建、编辑操作,对于权限要求高的客户来说,不便于将项目管理员调整为租户管理员,导致流程卡住。
体验优化说明:admin、租户所有者/管理员、项目所有者/管理员可以对数据模型进行操作,其他角色按照原来的规则,进到页面不可查看、操作。
1.指标 API 生成的 Hive 大宽表支持生命周期设置
背景:指标 API 生成过程中会在 Hive 中存储一份数据,需要同步支持生命周期设置。
2.增加维度管理模块,支持设置维度对象、维度属性
背景:
目前指标产品只支持一层维度,用户选择起来麻烦。如“客户”有“客户ID、客户名称、客户手机号”等维度,当用户在派生和复合层选择时,需要一个个点。
客户方会有复合指标依赖的2个派生指标用到同一个维度的需求,两个维度未在数据模型中做关联,从而导致无法在当前项目内创建复合指标。
新增功能说明:
3.数据模型支持落表
背景:派生指标是基于模型所用的源表进行指标加工,实际使用中,使用同一模型的多个派生指标频繁重复使用数据源时,当数据源的数据量较大时,加工效率会变慢,此时需要将模型落表以提高加工效率。
新增功能说明:「新建模型」中的【第五步:设置】中的模型存储选项,选择存储为物理表,并配置表信息、调度信息,包括表名称、任务名称调度周期、出错重试,也需要设置数据生命周期信息。指标发布后,系统将提交模型任务周期计算数据落表。
4.数据模型中选择的拉链表支持自定义匹配日期字段
背景:数据模型中设置了一个增量分区表(左表),并匹配了一个拉链表(右表),左表包含两个时间字段(一个是用于分区的时间字段,另一个是用于和拉链表的开始/结束时间做匹配的时间字段),目前平台只支持匹配分区时间字段,不支持普通的时间字段,导致模型无法正常创建。
5.增加业务限定模块
新增功能说明:增加业务限定模块,支持批量设置指标计算过滤条件
• 新增/编辑业务限定
• 派生指标加工时的过滤条件设置变更为业务限定选择
6.统计周期增加上季末、上年末参数
背景:指标加工过程中,会有加工季度末、年度末的统计周期设置需要,当前无法通过可视化加工实现,只能通过自定义指标实现,本次功能迭代通过可视化配置方式实现该需求场景.
新增功能说明:
统计周期设置上季末的数据的设置方式如下:
7.统计周期支持自定义周期标识
背景:统计周期之前只支持设置周期名称,当名称变更后,未被通知到的用户不易正确识别到所需周期,本次加入周期标识,方便定位周期唯一性。
新增功能说明:新增统计周期时,可配置周期标识,字段在周期列表中同步展示。
8.指标表名称支持自定义
背景:客户加工表的过程中,会根据自己的特定规则生成表名称,目前指标生成的表名称是根据系统内置条件生成,不便于客户定位表。
新增功能说明:新增指标的「设置调度信息」步骤中,设置指标表名称(编辑时不可修改)。
9.试计算增加表结构预览
背景:未生成指标表前,客户仅能根据 SQL 判断表内的字段信息,为方便查看表结构,在查看 SQL 信息的同时,可通过可视化方式查看对应的表结构信息。
新增功能说明:
10.复合指标支持自定义关联键
背景:历史功能是将选择的维度作为关联键,生成如下SQL:select A.性别,avg(A.消费金额 / B. 消费人数) from A left join B on A.性别 = B.性别。
1.复合指标运行过程中产生的临时表删除逻辑优化
背景:复合指标运行周期任务实例、运行补数据实例时会针对公式中的各指标生成 Hive 临时表,当任务运行失败时,临时表未进行及时清理,造成客户存储资源浪费。
体验优化说明:每天定时清除2天前生成的临时表。
2.原子指标加工方式升级,可自定义公式
背景:原来的原子指标是将模型字段做直接映射,映射后的原子指标需先生成派生指标/复合指标,再与其他指标表做加工,此时需要有公共维度存在,否则无法进行指标加工,无法满足维度不一致的字段的加工。
3.派生指标的技术信息设置方式变更
• 维度选择:由取原子指标的维度改为取原子指标所引用模型的维度(显示对应的维度对象、维度属性信息),并可针对一批维度批量选中对应的维度对象
• 过滤条件设置:由原来的根据模型依次配置条件调整为直接引用业务限定中配置的业务限定规则,可一次添加多个业务限定规则
4.复合指标规则设置模块功能划分优化
背景:之前的规则设置模块功能划分中,过程指标的条件设置与指标结果的设置均放到了维度设置中,点击单个指标的操作范围不便于理解,基于操作习惯、理解难度对功能模块重新做了划分。
体验优化说明:整体包含三个模块:维度设置、结果设置、过程指标详情:
• 维度设置:包含复合指标结果表所需的维度、各过程指标结果表关联方式及关联键选择
• 结果设置:保存精度、取整方式、为空默认值、计量单位
• 过程指标详情:针对单个过程指标设置维度过滤、结果过滤条件
背景:SQL 指标中没有解析 SQL 语句中用到的 Catalog,导致 SQL 指标后续进行复合指标、API 查询时报错。