写点什么

袋鼠云产品功能更新报告 11 期|能力 AI+,实力拿捏!

作者:袋鼠云数栈
  • 2024-08-26
    浙江
  • 本文字数:3808 字

    阅读完需:约 12 分钟

本期,我们更新和优化了离线 AI+、实时 AI+、实时湖仓 CDC 入湖等功能,为您提供更高效、更智能的产品能力。以下为第 11 期袋鼠云产品功能更新报告,请继续阅读。

报告速览

  • 离线 AI+:智能代码优化、智能注释、智能解释、Text 2 SQL 以及日志智能解析

  • 实时 AI+:推出 “栈语妙编” 模块,提供聊天式交互体验,大幅提升 SQL 开发效率

  • 实时湖仓 CDC 入湖:Flink CDC 3.x 技术深度融合,确保对 MySQL 数据库的实时、高效数据采集与入湖

  • 引擎适配:Doris、StarRocks 3.x

01 离线开发,重点更新

离线开发】离线 AI+功能

数栈「离线开发平台」实现了 AI 能力的对接,上线了智能代码优化、智能注释、智能解释、Text 2 SQL 以及日志智能解析等多项强大功能。

(1)代码智能分析

  • 智能代码优化:自动分析和优化 SQL 代码,提升代码质量

  • 智能注释:依据代码内容自动生成任务注释,辅助代码规范编写

  • 智能解释:依据代码内容进行代码功能解析,帮助开发者理解代码逻辑



(2)基于自然语言的 SQL 生成

数栈支持对接开源或闭源模型,实现复杂场景下的 Text2SQL 功能,并支持关联平台的表结构作为 prompt,可更准确地生成 SQL 语句,提升开发效率。目前,已经支持了 Hive、Spark、MySQL、Oracle、StarRocks、Doris 等计算引擎的 Test2SQL 能力。



(3)日志智能解析

数栈目前已经支持了 Hive、Spark、数据同步、Python、Shell、MySQL、Oracle、StarRocks、Doris 等任务类型的日志智能解析能力。自动解析各种类型的日志文件,提取关键信息,并进行结构化和语义化分析,帮助用户更高效地排查问题。



离线开发】-Hive SQL 临时查询运行速率优化

在 Hive SQL 中新增了一个「下载结果」的单选按钮,允许用户根据需求选择是否下载查询结果。当用户选择不下载结果时,可以显著提升 Hive SQL 的执行速率。



对于复杂的查询任务,在进行了这项优化之后,其执行耗时大幅缩短至原来的约一半。这是因为任务直接查询,有效减少了提交 yarn 队列和获取 yarn 任务结果的等待时间。



03 【离线开发】-在自定义调度日期中灵活设置调度模式

在之前的版本中,当任务选择了自定义调度周期时,只能设置按天调度的执行时间,而无法进一步根据自定义的日历设置小时和分钟级别的调度,限制了灵活性并难以满足多样化的客户需求。数栈 V6.2 解决了这一问题,现在支持在任务中灵活设置天、时、分钟三种调度模式。当选择的自定义调度周期为天日历时,可以进行实例批次的选择。选择“单批次”代表计划日期内仅可指定一个计划时间运行实例,选择“多批次”则代表计划日期内可以指定多个计划时间运行实例。

例如,上传自定义调度日历,2023-12-21,2023-12-22,2023-12-24 等日期为自定义调度日期。选择单批次并指定具体时间为 00 时 00 分,则代表 2023-12-21 00:00 , 2023-12-22 00:00,2023-12-24 00:00 为调度计划时间。



选择多批次并填写时间,如 08:23,15:00,19:47,则代表 2023-12-21 08:23 , 2023-12-21 15:00,2023-12-21 19:47, 2023-12-22 08:23 , 2023-12-22 15:00,2023-12-22 19:47,2023-12-23 08:23 , 2023-12-23 15:00,2023-12-23 19:47,为调度计划时间。



04【离线开发】-补数据支持设置执行时间

以下是两个企业经常遇到的场景:

场景一

当业务场景中需要频繁更新数据时,企业希望能够对 Spark SQL 任务实现自动化的数据重跑,例如每天自动重跑前七天的数据。如果每天手动进行补数据操作,对于任务量大的企业来说非常繁琐且低效。

场景二

某些企业为了避免影响日常周期任务的正常运行,通常会选择在凌晨进行补数据操作,但这也意味着需要人工干预。

数栈 V6.2 通过支持周期补数据和定时补数据功能很好地满足了以上两个场景的企业需求。同时,运维中心新增「补数据任务」菜单,可统一管理「补数据任务管理」和「补数据任务实例」页面。

  • 立即运行补数据实例



  • 定时运行补数据实例



  • 周期运行补数据实例



  • 周期补数据任务运维



  • 立即补数据 &定时补数据任务运维



05【离线开发】项目级 Kerberos 生效范围变更

数据同步、数据预览、SQL 任务运行提交、本地数据上传,以上场景涉及到的 Hadoop meta 数据源,若在项目中和集群中都上传了 Kerberos 票据信息,将会使用项目级 Kerberos 票据信息进行校验,确保项目级 Kerberos 认证可以管控到表查询数据预览的内容。



实时开发】重点更新

01【实时开发】实时 AI+功能

数栈「实时开发平台」成功融合 AI + 功能,全新推出的 “栈语妙编” 模块,为用户提供聊天式交互体验。该模块凭借 SQL 优化、SQL 注释以及 SQL 解释等功能,大幅提升 SQL 开发效率。

SQL 优化

在 IDE 编辑器中,你可以选取需要进行优化的 FlinkSQL 进行操作。当 AI 完成 SQL 优化后,会主动弹出优化后的 SQL 与原 SQL 的对比图。该功能支持 SQL 的重复优化,也支持对优化后的 SQL 进行手动修改,同时还支持在“栈语妙编”中重复对比 SQL。

该功能能够显著提高 SQL 执行性能、降低资源消耗、提升用户体验并增强系统稳定性,为您的实时数据分析场景提供强大的支持。



SQL 注释

当您利用 AI 完成 SQL 注释后,“栈语妙编”中会主动弹出已添加注释的 SQL。该功能能够极大地提升代码的可读性与可维护性,帮助开发者更加深入地理解和高效管理 SQL 代码,提高开发效率。



SQL 解释

在数据开发过程中,当使用 IDE 编辑器处理 FlinkSQL 任务时,您可以通过选择“SQL 解释”选项,来请求 AI 进行代码解析。解析完成后,结果会在“栈语妙编”中进行展示,便于开发者快速把握代码逻辑和功能。该功能在降低开发和维护成本的同时,还能促进团队协作。



02【实时开发】-实时湖仓 CDC 入湖

对实时数据采集能力进行了全面升级,深度融合了 Flink CDC 3.x 技术,实现了对 MySQL 数据库的实时、高效数据采集与入湖。

  • 引入 Flink CDC 3.x 技术,确保对 MySQL 数据变更的实时捕捉与传输

  • 实时采集 MySQL 数据源,通过 Flink CDC 技术直接将数据变更流写入 Paimon 表,实现数据的无缝对接与快速入湖

  • 实时采集 MySQL 还原范围支持增量方式和全量+增量方式,满足不同场景下的需求

  • 实时采集 Paimon 下游表支持三种写入方式:手动选表、相同表名、自定义表名

  • 实时采集 Paimon 下游表支持分区表自动创建,提升查询性能与数据管理效率



03【实时开发】-数据源相关优化

(1)Flink1.16 全面支持实时采集未支持向导模式的数据源

当前支持来源表包括 ClickHouse、DM For Mysql、DM For Oracle、OushuDB,统一支持写入 Kafka。

(2)Flink Sink 支持功能范围与向导模式支持范围一致化

在 Flink 1.16 中,对于已支持的数据源,脚本模式已支持但向导模式未支持的情况,引入可视化配置功能可降低用户的操作难度和复杂性。

当前支持数据源:

  • Vertica:维表

  • Phoenix5.x: 维表

  • greenplum:维表、结果表

  • db2:维表、结果表

  • dm: 维表、结果表(for mysql、for oracle)

  • gbase:维表、结果表

数栈 V6.2 其他功能优化说明

01 【离线开发】引擎适配

  • Doris 适配:离线支持基于 Doris 的周期任务、数据同步、手动任务、临时查询、函数管理、存储过程、代码模版等功能

  • StarRocks 3.x 适配:离线支持作为计算引擎,支持数据同步读写

02 【离线开发】数据同步

  • ES 数据同步优化:支持批量读取 index,支持地理位置字段类型

  • iceberg:支持 iceberg0.13 数据同步

03 【离线开发】数据开发

  • SQL 编辑器升级:主要针对语法高亮、错误飘红、语法自动补全的场景进行了补全

  • Spark SQL 函数注册优化:用户在创建函数时自动判断函数类型为 spark/hive udf

  • HDFS 表查询优化:对 Split 的分片处理逻辑进行调整,在表数据量较大时保障查询效率

  • SQL 基础功能补全:临时运行、系统函数、自定义函数、执行计划等功能各计算引擎补全

  • 支持物化视图:在 Spark3.2.2 版本创建的 Spark SQL 任务支持物化视图相关语法

  • 创建项目与 Schema 关联解绑:创建项目时,项目支持不对接并且不创建 Schema

  • 支持任务回收站:新增「回收站」模块,在删除任务时可以选择「彻底删除」或「移至回收站」,用户可在回收站中恢复已删除任务

  • Hive 脱敏改造:修复了复杂查询脱敏不生效的问题

04 【实时开发】实时湖仓

  • 同租户下创建 HMSCatalog 下表显示不同项目的应用关系

  • 湖表通过后端文件配置项控制表展示等操作,支持展示在其他平台或底层创建的表,且对表的增删改查操作进行限制

  • 实时湖仓 FlinkSQL 使用 Paimon 作为数据源时,增加了任务运行中数据的输入输出 RPS、TPS、脏数据等数据曲线指标以及运行时输入输出的数量指标

  • 湖仓创建 catalog 时可以指定存储路径而不是按默认的路径进行存储,增加必填 warehouse 项,回填 hive-site 文件内 warehouse 地址

  • 实时湖仓 hive 适配 2.1 版本

  • Flink1.12 支持 DTCatalog&IcebergCatalog

  • 湖表查询优先使用 Mysql 元数据存储查询方式,尝试失败后使用原有的 HMS API 查询方式

05 【实时开发】数据开发

  • 发布功能优化:任务导入检查流程可视化,设置发布包校验弹窗,降低发布失败概率

  • 任务交互优化:在发布包二次导入任务时,自动应用已导入任务的环境参数,并在一键提交功能中增加任务查看选项,同时允许选择任务调度策略

  • 转自定义模版功能:在 FlinkSQL 任务中添加转自定义模版功能,将预览中的 SQL 内容在自定义模版的 SQL 代码中展示,自动将数据赋值

  • 引用关系优化:优化增加引用关系页面,能够查看到资源与函数(PyFlink、Flink)和任务之间的绑定关系

  • 脚本预览功能:FlinkSQL&实时采集向导模式增加脚本预览功能,前端支持功能包含搜索、复制、read-only、下载

  • 字段自动补全功能:支持源表、维表以及结果表等的字段在 SQL 编辑器 IED 进行编辑时实现字段自动补全功能

06 【实时开发】数据源

  • FlinkSQL1.16 支持 Hive2.x 结果表支持二级分区和动态分区

  • 实时平台适配 kafka3 且支持 kerberos 认证

07 【数据服务】数据源

  • 支持 Doris 2.x 数据源

  • 支持 DMDB 8 数据源

用户头像

还未添加个人签名 2021-05-06 加入

还未添加个人简介

评论

发布
暂无评论
袋鼠云产品功能更新报告11期|能力AI+,实力拿捏!_袋鼠云数栈_InfoQ写作社区