草庐IT

袋鼠云产品功能更新报告03期丨产品体验全面优化,请查收!

数栈DTinsight 2023-03-28 原文

年底啦~2022年即将走到尾声,不过袋鼠云对产品品质的坚持始终如一,这段时间我们对产品本身以及客户反馈的一些问题进行了持续的更新和优化,例如新增任务告警,进行了Connector相关功能优化,以及支持跨时间分区圈群等。

以下为袋鼠云产品功能更新报告第三期内容,更多探索,请继续查阅。

离线开发平台

1.任务诊断

用户痛点:任务一直在等待提交或者等待运行,用户看不到原因,不知道该如何处理能让任务尽快跑起来;任务运行了很久都没有出结果,不知道是什么原因导致,不能有针对性地进行改善。

新增功能说明:对周期和补数据实例将按实例所涉及流程进行诊断,提示异常原因,给出建议方案。另外针对SparkSQL任务还支持根据参数展示给出提升运行性能的调参建议。

任务诊断功能的目的是帮助数据开发进行任务异常原因排查,以便快速采取应对策略解决问题,减少问题持续时间以及技术支持和产研的排查投入。

2.事件任务

事件任务可接收外部http信号,被触发后才能运行,多用于数栈离线任务依赖外部调度系统的任务的场景。


3.条件分支任务

条件分支接收上游依赖一个或多个任务的传参,当参数满足某一条件时执行条件分支任务下游的一个或多个分支,在一次运行中没有被命中的分支对应实例会被自动取消。

4.对接数据安全模块

用户痛点:离线的数据权限管理仅支持web层的管理方式,表的权限申请审批通过数据地图完成。

新增功能说明:数栈层面的数据权限管理可选择统一收拢至数据安全模块,当hadoop为开源版本3,ranger版本为2.2时,可通过在控制台配置Ranger和LDAP组件,通过LDAP用户认证由数据安全模块实现数据权限管理,权限管理更灵活、粒度更细

5.Spark SQL临时查询展示任务执行进度

Spark SQL临时查询展示任务执行进度并实时打印日志。

6.支持项目层面的统一配置项

支持在项目层设置是否在周期和手动任务/临时查询中允许ddl操作。

7.其他新增功能项

·支持HANA SQL任务类型:控制台配置了HANA SQL引擎后离线可创建HANA SQL任务

· 支持Spark on Kubernetes:当控制台配置的hadoop下的资源调度组件为Kubernetes时,Spark类的任务可正常运行

· 支持文件拷贝任务:支持hive<->ftp之间的文件拷贝,仅做拷贝文件,不做数据解析,相对于通过FlinkX的数据同步可快速完成文件的迁移,迁移完成后可通过load data的方式加载到表里

8.数据同步字段映射支持表元数据刷新

用户痛点:数据同步任务创建完成运行一段时间后,源表或目标表表结构有变更(例如有字段增减),需要对字段映射进行重新配置。

产品体验优化说明:点击刷新后平台将自动获取最新的表结构,已建立的字段映射将保留,新字段需要重新映射。

9.补数据对任务增加自定义参数值的临时替换

补数据的一些场景中需要对自定义参数值进行临时改写,此操作只针对本次生成的补数据实例生效。

10.告警规则的告警接收人支持按用户组添加用户

选择用户组后,用户组添加或删除用户,对应告警规则接收人也将同步添加或删除用户。

11.python、shell任务依赖资源/任务改造

Python、Shell任务可引用其他任务进行代码计算,也支持选择依赖资源一起提交运行。

12.支持通过上传自定义日历的方式进行全局参数配置

全局参数分为如下类型:

13.全局自定义调度周期支持两种时间粒度

用户痛点:控制台配置的自定义调度周期仅支持配置到时分,若一批任务的调度周期日期一样仅时分不一样则需要配置多个自定义调度周期。

产品体验优化说明:控制台自定义调度周期可选择配置到天/时分,配置到天时,任务中可再选择具体时分。

14.管理角色的项目创建初始化改造

用户痛点:admin、租户管理员、租户所有者,上述管理角色在项目创建初始化逻辑混乱,租户层的管理角色可被移出项目,导致管理层角色实际管辖范围有缺漏。

产品体验优化说明:上述管理角色在项目创建时默认存在于所有项目中但默认不展示在用户列表中,且不支持被移出项目。

15.数据开发表查询交互优化

体验优化说明

对表按层级做了展示和交互优化。

16.重跑和置成功功能优化

重跑分为仅重跑当前实例和重跑当前实例并恢复调度,后者会带起下游实例继续运行。

置成功分为仅把当前实例置为成功状态和置成功当前实例并恢复调度,后者是会带下下游实例继续运行。

17.离线开发首页改造

18.RESTful数据同步支持多次数据请求和指定数据主体

RESTful数据读取时可能一次请求得到的数据不完整,需要分多次读取,因此离线支持配置多次请求参数,可分批进行数据读取。

数据读取时返回格式支持JSON、CSV和XML三种,且对JSON和XML支持指定数据主体,可从返回数据中用JSONPath的方式指定数据需要从哪个路径的key下读取。

19.FTP数据同步支持自定义解析方式

FTP中的文件若有特殊的解析要求,可自行开发解析代码,以资源的方式上传后在解析方式中选择使用。

20.数据同步任务字段映射支持字段转换

字段映射中,可选择资源管理中的资源单个/批量对字段进行转换处理,例如可以对源表字段进行加密/字段内容转换等操作后写入目标表。

21.发布功能优化

· 导入导出式发布现可支持工作流任务

· 对于发布包中任务所需要但目标项目下缺失的数据源进行了详细提示

· 对于上游依赖缺失的任务进行完整提示,而非只发现最近一层缺失上游即终止检查

· 自定义运行参数支持配置映射值:当前项目绑定了一个目标项目后,对于自定义参数可配置其在本项目的值和发布至目标项目后的替换值

22.Spark CBO优化

Spark2.4及以上版本支持开启CBO,开启后平台会按用户设置的元数据信息发送频率把当前项目meta schema的元数据信息同步给引擎,以提升SparkSQL的运行性能(20%以上)。

23.数据同步Oracle表搜索去除大小写敏感

例如原库下有Oracle12和oracle333两张表,在数据同步源表和目标表的选择表中输入“oracle”进行表搜索

【修改前】搜索结果为oracle333

【修改后】搜索结果为Oracle12和oracle333

24.批量操作优化

· 支持批量修改调度周期


· 增加操作成功/失败结果状态提示

25.任务和实例增加自依赖说明

任务/实例存在跨周期依赖的情况不能在依赖视图中直接体现,因此在任务/实例的属性信息中增加此提示,以方便排查问题。

26.周期实例中按条件杀实例入口调整

按条件杀实例中可以根据任务条件进行批量选中任务。

27.Spark SQL语法校验从平台下移到插件

Spark SQL语法校验从平台下移到插件,且新增语法检查按钮

28.提交/修改的任务能够立即生成实例

任务在调度属性中新增实例生成方式的选项,除每天固定时间点(22点)生成第二天的实例外还可支持立即生成当天的实例,例如一个任务的调度周期是小时,计划时间是每天每个整点运行,实例生成方式选择“立即生成”,当用户在19:55的时候提交这个任务后,调度会立即生成当天20、21、22、23点的实例并运行。

29.FTP数据同步优化

· 在同步时可读取文件名称进行同步:FTP数据源在字段映射处支持增加文件名称字段,针对每行数据记录其所对应的文件名称并写到目标表的字段中


· 对于同步成功的文件可进行处理:删除文件、重命名文件、将文件移动到指定路径


· 数据同步时打印汇总信息:文件总数,文件内容,文件数据总行数,总耗时

30.数据同步任务支持上游参数输入

31.手动任务

新增手动任务的任务类型,用于手动调起执行任务的场景。

32.数据同步向导模式支持CustomSQL填写

在数据同步任务中,针对RDB类数据源(oracle、MySQL、pg、sqlserver、tdsql、gp、db2、达梦oracle&MySQL、kingbase、gaussdb、tidb、adb、hana、phoenix、solr)作为数据来源时支持通过自定义SQL跨表取数,且在字段映射中对SQL字段进行解析。

33.其他体验优化项

体验优化说明

·Spark引擎支持3.0版本:Spark SQL/Spark/PySpark任务支持用3.0版本的Spark引擎运行

· Hive支持代理账号提交任务:在控制台hiveserver组件上配置自定义参数hive.proxy.enable = true后,hive任务提交时将会由代理用当前用户身份进行提交

· 任务SQL代码放开load data语句:hivesql sparksql impalasql inceptorsql现可正常使用load data语法运行和提交任务/临时查询

· 任务上下游参数传递优化:增加支持shell on agent任务的上下游参数传递;增加支持工作流内的sparksql、hivesql、shell、python、shell on agent

· 数据同步任务当HDFS分区不存在时,高级配置中可配置报错或是写入空数据:hdfs分区不存在的时候不要报错,而是写入空数据,可配置failedIfPathNotExist 参数,true代表不存在时报错,false代表写入空数据

· 统计数据流量统计优化:弃用使用objectSizeCalculator统计对象大小的方法,在ColumnRowData(flinkx上下游数据传输使用的对象)中设置一个累加器记录对象大小

· 数据同步任务向导 -> 脚本模式的转换优化:数据同步任务在选择来源和选择目标时不可从向导转成脚本,在字段映射和通道配置时可转换成脚本并且会提示先保存,转换成脚本后向导模式下的配置才会保留

· 组件输出参数修改为非必填项:输出参数即数据产出表,优化前为必填内容,但在部分客户的场景中多个任务的数据可能会产出到同一张表的不同分区,因此输出参数从必填改为非必填

· 语法校验优化:可校验的SQL语句覆盖全面,包括DDL、DML及一些特殊语法,例如with as,cache table,语法校验时间缩短30%

· DAGScheduleX性能优化:离线运维中心可正常显示百万级实例日增时的显示,千万级实例的依赖拓扑图可正常生成

实时开发平台

1.Connector相关新增功能

· 新增支持RocketMQ数据源,作为FlinkSQL的Source端

· 新增支持RabbitMQ数据源,作为FlinkSQL的Source端

· 新增支持StarRocks数据源,作为FlinkSQL的lookup&sink端

· 新增支持Vertica数据源,作为FlinkSQL的sink端

2.Connector相关功能优化

· Redis结果表的向导模式配置,新增「数据类型」、「写入模式」两个配置项

· Oracle Logminer的QUERY_LOG_INTERVAL 参数提取,支持在高级配置中进行配置,该参数可以控制查询间隔时间,防止没有数据更新时频繁查询数据库造成不必要的压力

3.实时采集支持自定义SQL

间隔轮询模式下的实时采集任务,支持用户自定义SQL对采集源表进行过滤、关联、计算等计算,然后再写入结果表。

4.PyFlink优化

创建PyFlink任务时,支持上传两种附加文件:

· 第三方Python包:用于上传在Python环境中未打包或者只是该任务需要使用的Python依赖

· 附加依赖包:如果您的PyFlink作业中使用了Java类,例如作业中使用了Connector或者Java自定义函数时,可以通过这种方式来添加

5.产品首页改造

对产品首页进行改造,面向开发和运维人员,增强了首页可用性。

· 运维指标:全局统计该租户下的所有任务运行的指标(后续会支持更多指标,支持自定义看板)

· 告警记录:进入产品就能查看当前收到的所有项目任务的告警信息,快速进入各个项目进行排查

· 表热度:统计各个项目中,【数据开发-表管理】中定义并被任务使用的Flink表

6.对外输出任务运行日志

当客户需要对任务运行日志进行深度分析、或者基于日志内容做些监控告警,可以在【任务开发-任务设置】中打开日志推送,在模版内容中配置日志推送的Kafka地址,用户可以自行消费推送到kafka的日志内容,进行二次开发。

7.SASL认证的KAFKA在不同Flink版本中的支持

Kafka SASL的认证参数在Flink1.10和Flink1.12中是不一样的,目前只需要在数据源中心配置统一的参数信息,在任务执行时,系统根据执行的引擎版本在统一参数上自动拼接1.10和1.12不同的参数前缀。

8.Flink1.12适配TBDS

· 实时采集:源表(TBDS_KAFKA)

· FlinkSQL:源表(TBDS_KAFKA)、结果表(TBDS_KAFKA、TBDS_HBASE)、维表(TBDS_HBASE)

9.脏数据管理结果优化

· 删除脏数据列表中的字段列,目前技术上无法支持定位到问题字段

· 优化脏数据详情的展示内容,打印整行数据,更容易定位问题数据

数据服务平台

1.产品首页改造

数据资产平台

1.数据质量模块

· 质量关键日志审计,记录质量相关的关键操作,便于查询与追溯

· 质量规则集导入,规则集中的规则批量统一管理、统一调度规则集是规则的集合,一个规则集可以代表一个业务领域的质量校验,从而提高效率、方便管理。后续做质量报告也会基于规则集进行统计

2.引导页功能优化

3.质量概览页改造

质量概览页改造,配合数栈所有子产品首页设计风格改造,增强了首页统一性及美观性

4.数据标准映射结果查看及UI优化

客户数据洞察平台

1.同步任务可配置环境参数

用户痛点:不少客户的Hive至Hbase数据同步任务要运行20多个小时,通过修改同步任务和Hbase的参数可以提高同步的速率。

新增功能说明:支持在任务管理页面配置数据同步任务的参数,包括任务参数和Hbase参数,且支持用户添加自定义参数,新增该功能后,用户可以在产品界面上灵活修改参数信息。

2.生成并下载分析报告

支持生成群组画像、显著性分析、对比分析word报告,报告内容包括分析图以及分析数据。


3.角色权限点可自由勾选

用户痛点:每个角色的权限固定,无法满足不同客户对不同角色权限的需求,支持用户自由配置角色的权限才能满足复杂的权限场景。

新增功能说明:支持自由配置普通角色的系统权限

4.选标签控件交互升级

用户痛点:目前选标签时会按照类目树、列表形式展示,标签展示的位置有限,不利于快速查找标签。

新增功能说明:标签根据类目平铺展示,尽可能多地展示标签 ,且支持搜索;展示热门、沉默标签和我收藏的标签。

本次对标签选择空间做了交互升级,可提高业务人员选择标签的效率。

5.支持跨时间分区圈群

用户痛点:在标签圈群业务场景中存在跨时间分区圈选用户的场景,如“活跃度”这个标签,业务需要圈选出5月2号是“高活跃”、6月2号变成“低活跃”的这批用户,进行一些激活措施,维持用户活跃度。

新增功能说明:标签圈群时,支持用户选择某个时间的某个标签值进行圈群,完成跨时间分区圈群。

6.标签元数据增加业务口径、技术口径字段

标签基础信息中,支持用户填写标签的业务口径与技术口径。

7.个体画像详情展示形式优化

用户痛点:实际很多情况下标签名称、标签值比较长,个体画像页展示不全,无法一眼看到关键信息。

产品体验优化说明:画像详情页的标签名称、标签值换行展示。

8.自定义标签

支持用户自定义上传内容与标签大宽表的字段关联键。

9.其他优化项

·数据安全对接Ranger:底层对接Ranger并适配Trino SSL,可在数据安全产品控制标签表

· 导出数据受行级权限控制:群组列表的数据导出也受行级权限控制,保证权限的一致性

· Trino对接底层Ranger权限:在Ranger中,Trino可控制表、字段的权限,但不能控制行级权限,适配Trino SSL

指标管理分析平台

1.指标结果阈值告警

针对指标计算结果可设置监控告警规则,及时发现指标结果数据的准确性,实时告知接收人。

2.数据模型选择分区表之后增加分区字段与日期格式选择

数据表中存在多个分区的情况,故需要用户自主选择,同时针对分区字段的日期格式做出选择。

3.指标任务增加任务自身的跨周期依赖

4.指标平台支持对接Kudu进行数据存储

指标平台支持对接Kudu进行数据读写,完成指标开发、管理、调度、运维等全生命周期流程。

5.创建项目时,增加选择API对接HBase数据源字段

以便用户在主流程操作下,可以对该项进行设置。

6.页面上增加图文说明,帮助用户理解产品逻辑

· 数据模型增加全量分区、增量分区、拉链表、非分区表的图文解释说明


· 行级权限增加静态行级权限、动态行级权限的图文解释说明

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

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

有关袋鼠云产品功能更新报告03期丨产品体验全面优化,请查收!的更多相关文章

  1. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  4. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  7. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  8. objective-c - 在设置 Cocoa Pods 和安装 Ruby 更新时出错 - 2

    我正在尝试为我的iOS应用程序设置cocoapods但是当我执行命令时:sudogemupdate--system我收到错误消息:当前已安装最新版本。中止。当我进入cocoapods的下一步时:sudogeminstallcocoapods我在MacOS10.8.5上遇到错误:ERROR:Errorinstallingcocoapods:cocoapods-trunkrequiresRubyversion>=2.0.0.我在MacOS10.9.4上尝试了同样的操作,但出现错误:ERROR:Couldnotfindavalidgem'cocoapods'(>=0),hereiswhy:U

  9. ruby-on-rails - Rails Associations 的更新方法是什么? - 2

    这太简单了,太荒谬了,我在任何地方都找不到关于它的任何信息,包括API文档和Rails源代码:我有一个:belongs_to关联,我开始理解当您没有关联时您在Controller中调用的正常模型方法与您有关联时调用的方法略有不同。例如,我的关联在创建Controller操作时运行良好:@user=current_user@building=Building.new(params[:building])respond_todo|format|if@user.buildings.create(params[:building])#etcetera但我找不到关于更新如何工作的文档:@user

  10. ruby-on-rails - rails 功能测试 - 2

    在Rails自动生成的功能测试(test/functional/products_controller_test.rb)中,我看到以下代码:classProductsControllerTest我的问题是:方法调用products()在哪里/如何定义?products(:one)到底是什么意思?看代码,大概意思是“创建一个产品”,但是它是如何工作的呢?注意我是Ruby/Rails的新手,如果这些是微不足道的问题,我深表歉意。 最佳答案 如果您查看test/fixtures文件夹,您会看到一个products.yml文件。这是在您创建

随机推荐