暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Dinky 1.0 前瞻体验,全新而来

1293
导读:前段时间 Dinky社区团队冒泡少和服务不到位,是因为社区团队在努力重构代码,全力开发 Dinky 1.0 版本,围绕0.7版本以及用户在sql开发时的痛点,为用户带来更加丝滑流畅的开发体验。目前 1.0 核心功能基本稳定,即将发布测试版,本文就带领大家提前快速一览 Dinky 1.0 的全貌。
社区公告:

    问题反馈、代码提交、文章投稿与社区贡献请移步 Github issue。

    Github issue #66 登记企业或组织生产使用,可邀请至企业支持群,获取团队技术支持与其他企业用户的经验分享。

    社区团队正在构建 Dinky 1.0 全新版本,带来更多创新实用功能,欢迎参与贡献,共建共赢。

 

 GitHub 地址 
https://github.com/DataLinkDC/dinky
https://gitee.com/DataLinkDC/Dinky
欢迎大家为 Dinky 送上小星星~


一、前言


什么是 Dinky

Dinky 是一个开箱即用 、易扩展 ,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架的一站式实时计算平台,致力于流批一体和湖仓一体的探索与实践。

愿景

Dinky 通过提供一站式专业的数据开发、作业监控、资源管理等服务,让FlinkSQL纵享丝滑,以帮助用户在实时计算时代,更好地构建、交付、管理自己的实时计算任务,更专注地分析和挖掘业务数据,更快地交付商业数据的价值。



二、UI全面更新

Dinky 1.0 构建了全新的 UI 布局与交互,操作体验大大提升,其中主要是对数据开发以及各种资源管理的 UI 重构。对交互,配置,表单操作逻辑重新定义,减少意义不明,逻辑复杂操作。



三、更强大的数据开发


日志实时反馈

0.7已经实现了埋点日志并发送到控制台,但存在日志不全,刷新慢等问题,用户还需要继续查看dinky日志以排查问题,在0.7的埋点日志基础上重构了实现方式,可实时打印全部任务执行日志,并做了分步处理,可单独查看每一步日志,大大提高了使用体验与排查问题的能力。

实时代码保存

Dinky 实时保存用户的 FlinkSQL 及作业配置,如遇到网页关闭等意外情况再次打开任务时会自动提示本地与服务端的差异,并进行选择性的恢复。


智能提示与配置检索

Dinky提供了更加全面的自动提示与补全,在以往的作业开发中,有个比较头疼的点是Flink配置项繁多,多版本参数不同,填写参数困难,1.0提供了参数搜索建议功能,方便在填写配置时快速定位填写。

同时在sql开发编辑器内同样也提供了智能提示功能,如自动解析当前 Flink 版本的配置项并进行提示、FlinkSQL 语法提示、FlinkSQL语句模板提示、Dinky 自定义模板提示、Dinky 文档提示、Dinky 语句案例等,全方位提升 FlinkSQL 作业开发体验,达到 Flink IDEA 能力。

利用Dinky文档能力,可以实现自定义代码片段功能,将常用模板存为文档,即可在编辑器内获得相关提示并一键生成,减少重复代码编写时间。

字段级血缘

对血缘的展示进行了优化,目前已经获取到了字段的转换逻辑,下一步将在血缘图上展示转换逻辑

元数据查看

0.7的元数据中心内容迁移到了数据开发页面,在侧边栏选择对应的数据源即可查看表元数据信息与数据内容。

暗夜风格

Dinky 提供了暗夜风格,缓解视力疲劳,其他风格可自行在配置文件中进行色域调整。

实用小工具

Dinky 提供了实用的小工具助力用户开发 FlinkSQL ,如文本对比、JSON 转 Flink DDL 等,可自行扩展新工具。

全局变量与局部变量

Dinky 具备全局变量与局部变量,也可以注入数据源变量。全局变量现在可以在数据开发页面直接进行管理。

整库同步

Dinky 的整库同步语句 CDCSOURCE,同0.7,区别是 ${} 替换为 #{},其可以在所有版本的 Flink上执行,不再有部分 Flink 版本代码未扩展的情况。支持通过 CDCSOURCE 关键字来自动提示并生成整库同步语句的模板。无需去官网或文章里搜寻语句。

SQL化 Jar 任务提交

Dinky直接 SQL 化提交 Jar 任务,更加简单清晰。可以通过 Execute Jar 来触发自动提示,生成整个作业模板。且支持所有模式的提交。

实时打印算子数据

在以往sql任务开发过程中,有个痛点问题是:“我要知道数据有没有,数据是什么样的,多个表情况下,中间表的数据如何展示,在以前一般是打印到log或写入数据库中查看,费时费力。”
dinky现在支持print表功能,只需要添加 `print <TABLE_NAME>` 语句即可实时监控表数据并打印到dinky控制台的表数据选项卡中,在调试开发过程中可以很方便的进行debug。
但需要注意的一点是此功能只适合在数据量不大的开发时使用,仅作为debug方便用,在正式环境中,大量数据返回会对dinky以及浏览器造成很大压力。




四、运维中心


作业监控列表

运维中心重新设计,去除了过多的无用冗余状态统计信息,增加按发布状态过滤等功能,作业历史合并为作业子表,查看更直观。

作业算子信息

作业信息页面实现了算子图展示功能,可实时查看当前算子运行状态,背压,busy等信息,交互同 FlinkWeb。

作业日志

SQL版本

作业监控

新增基于 Apache Paimon 实现的 Flink Metrics 的监控,可以自由构建 Metrics 的可视化监控与分析。默认监控数据存储本地,如果你有需求,也可以在系统配置里修改为远端存储,目前支持local,s3,hdfs存储。



五、注册中心


Flink 集群实例(手动注册)

集群实例页面展示优化,将手动注册的session集群与perjob和application模式自动注册的集群进行了分离,查找更快捷方便。

Flink 集群实例(自动注册)

在0.7内如果经常使用perjob和application模式那么将会产生大量无用的自动注册集群实例,在1.0之后会随着后台定期清理功能清理掉无用的实例信息。

集群配置

集群实例配置与0.7在功能上差距不大,主要优化了UI操作逻辑,对于k8s任务,增加编写PodTemplate支持,可更方便进行k8s的pod进行控制

集群配置k8s 环境下支持 PodTemplate

数据源

点击列表中每一项的 Logo 即可进入数据源详情页 (即v0.7 的元数据中心)。

告警

告警实例(v1.0.0实现了阿里和腾讯短信告警)。

告警组,同 0.7。


告警模版,Dinky 可自定义告警模板,满足多样化的告警展示需求。

文档管理

文档管理可用于自定义 FlinkSQL 智能提示与补全的规则与内容。

全局变量

Git 项目

新增Git项目管理,可以直接从Git来构建 Flink Jar 任务、UDF 等,与企业内Git 管理对接。

查看项目源码。

克隆编译。

UDF 管理

新增udf管理,可自动解析 udf。

文件资源

Dinky 对外部的文件系统进行了托管,并制定了自己的 RS 协议,用户可以以RS 协议代理指定文件路径,而无需人工分辨哪个文件系统。



六、认证中心


用户

用户管理。

分配角色。

角色

角色管理。

分配菜单。

菜单

Dinky 提供了菜单和路由管理,用户可以根据自己的需求自由分配菜单与页面布局。

行权限

FlinkSQL 的行级权限,可以在提交任务时自动注入where 条件来实现数据权限的控制。

租户

类似于团队或者工作空间,用来完全隔离两个团队或项目的内容。

令牌

支持令牌授权访问,保障生产环境安全性。




七、配置中心


全局配置

Dinky将所有的配置进行了可视化管理,可动态修改系统配置,如 Flink 配置、Maven 配置、海豚调度配置,LDAP配置等。

系统日志

Dinky 提供了系统日志可以直接浏览 Dinky 所有的日志,无需再跑到shell工具进行查看。

告警策略

Dinky 支持用户自定义告警规则,以满足多样化的告警需求。




八、监控


Dinky 增加了监控大屏,可以将关注的指标进行集中展示。



九、个人中心


登录日志

操作日志




十、新版本体验

由于开源社区团队精力有限,所以接下来优先响应已登记的活跃用户,即在issue#66登记使用的企业用户可以优先联系社区进行新版本体验与协同测试。


贡献者召集令

Dinky 是一个具有无限潜力的开源项目,目前部分能力已走在行业前列。同时由于它与 Apache Flink 紧密相关,很多参与 Dinky 建设的小伙伴都从中获得了较大的能力提升,而这部分从实践中获得的知识技能其实是很难从书籍、视频或者源码中学习到的,所以借着 Dinky 1.0 重构的时机,真诚地邀请小伙伴们一起参与建设,一起成长,共建共赢。

以下为社区发布的贡献者召集令,我们始终认为能力不是参与开源的门槛,心态才是获得社区认可的关键因素。期待你成为下一个 Contributor 或是 Committer 甚至 PMC。


Flink 源码开发

负责基于 Dinky 框架对 Flink 源码进行增强,以平台角度来优化 Flink 使用体验,包括但不限于整库同步、语法扩展、血缘分析、提交优化、Catalog 扩展、连接器扩展等。

开源生态开发

负责推动 Dinky 与其他开源社区的建设,如 Flink CDC、Paimon、DorisDolphinScheduler、Hudi、iceberg、clickhouse、kyuubi、starrocks 等集成建设。

平台后端开发

负责对 Dinky 的平台化功能进行设计与研发,打造敏捷易用的实时计算平台。

React 前端开发

负责对 Dinky 的前端进行设计与开发,优化用户交互体验。

社区运营

负责对 Dinky 社区进行用户推广、活动组织、文章收集等,建设健康向上的开源社区。

文档建设

负责对 Dinky 的官网文档进行内容更新、细节补充、FAQ整理、文档翻译等,为用户提供一个清晰的操作手册。

企业用户先锋

负责对 Dinky 的新功能、bug 修复等进行测试环境的验证与反馈,不断优化生产环境。


交流

欢迎加入 Dinky 社区交流问题与分享经验。

QQ社区群:543709668,申请备注 “ Dinky+企业名+职位”,不写不批。

微信官方群:添加 wenmo_ai ,申请备注“ Dinky+企业名+职位”,不写不批谢谢。

       公众号:Dinky开源



扫描二维码获取

更多精彩

Dinky开源




文章转载自锋哥聊DORIS数仓,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论