一、前言
之前小伙伴们一直苦于 Dlink 没有官网或操作手册来作指导,操作起来处处是坑。经过两天的努力,Dlink 也有官网和 GitHub Pages 啦,不过官网还在等备案,可以先看 GitHub Pages。在此非常感谢 docsify 开源项目的支持。关于在线体验的 Demo ,暂时无法给部署,基于 mock 的改造工作量蛮大且体验效果差,把原版 Dlink 部署上,一个小服务器,分分钟就给跑崩了,大家还是等后续权限功能上线吧。
官网:www.dlink.top
GitHub Pages:https://datalinkdc.github.io/dlink/#/
此外,网站内容还很乱,如果您想参与建设可以联系我,就是在源码里写 markdown。当然,更希望各位大佬在使用 Dlink 的时候可以写写文章分享下,可以被登载到官网(可以在里面打小广告哦),帮助其他人解决问题。如果是对接其他开源项目或生态的文章,加分啊!十分感谢。
对了,Dlink 的 logo 还在征集中,如果您有好的提议可以联系我,谢谢。(先凑合下这个炫酷的榛子)
二、简介
实时即未来,Dlink 为 Apache Flink 而生,让 Flink SQL 纵享丝滑。
Dlink 是一个交互式的 FlinkSQL Studio,可以在线开发、补全、校验 、执行、预览 FlinkSQL,支持 Flink 官方所有语法及其增强语法,并且可以同时对多 Flink 集群实例进行提交、停止、SavePoint 等运维操作,如同您的 IntelliJ IDEA For Flink SQL。
需要注意的是:Dlink 更专注于 FlinkSQL 的应用,而不是 DataStream。在开发过程中您不会看到任何一句 java、scala 或者 python。所以,它的目标是基于 100% FlinkSQL 来实现批流一体的实时计算平台。
值得惊喜的是:Dlink 的实现基于 Apache Flink 源码二次开发,支持其绝大多数特性与机制,而交互更加贴近 Flink 的功能与体验,并且紧随官方社区发展。即站在巨人肩膀上开发与创新,Dlink 在未来批流一体的发展趋势下潜力无限。
最后,Dlink 的发展皆归功于 Apache Flink 等其他优秀的开源项目的指导与成果。
三、功能
注意:以下功能均为对应版本已实现的功能,实测可用。
应用 | 方向 | 功能 | 进展 |
---|---|---|---|
开发中心 | FlinkSQL | 支持 sql-client 所有语法 | 0.4.0 |
支持 Flink 所有 Configuration | 0.4.0 | ||
支持 Flink 所有 Connector | 0.4.0 | ||
支持 SELECT、SHOW 等查询实时预览 | 0.4.0 | ||
支持 INSERT 语句集 | 0.4.0 | ||
新增 SQL 片段语法 | 0.4.0 | ||
新增 AGGTABLE 表值聚合语法及 UDATF 支持 | 0.4.0 | ||
新增 Flink Catalog 交互查询 | 0.4.0 | ||
新增 执行环境的共享与私有会话机制 | 0.4.0 | ||
新增 多种方言的作业目录管理(FlinkSQL、SQL、Java) | 0.5.0 | ||
新增 作业配置与执行配置管理 | 0.4.0 | ||
新增 基于 Explain 的语法校验与逻辑解析 | 0.4.0 | ||
新增 JobPlan 图预览 | 0.5.0 | ||
新增 基于 StreamGraph 的表级血缘分析 | 0.4.0 | ||
新增 基于上下文元数据自动提示与补全 | 0.4.0 | ||
新增 自定义规则的自动提示与补全 | 0.4.0 | ||
新增 关键字高亮与代码缩略图 | 0.4.0 | ||
新增 选中片段执行 | 0.4.0 | ||
新增 布局拖拽 | 0.4.0 | ||
支持 local 模式下 FlinkSQL 提交 | 0.4.0 | ||
支持 standalone 模式下 FlinkSQL 提交 | 0.4.0 | ||
支持 yarn session 模式下 FlinkSQL 提交 | 0.4.0 | ||
支持 yarn per-job 模式下 FlinkSQL 提交 | 0.4.0 | ||
支持 yarn application 模式下 FlinkSQL 提交 | 0.4.0 | ||
Flink 作业 | 支持 yarn application 模式下 Jar 提交 | 0.4.0 | |
支持 作业 Cancel | 0.4.0 | ||
支持 作业 SavePoint 的 Cancel、Stop、Trigger | 0.4.0 | ||
新增 作业自动从 SavePoint 恢复机制(包含最近、最早、指定一次) | 0.4.0 | ||
Flink 集群 | 支持 查看已注册集群的作业列表与运维 | 0.4.0 | |
新增 自动注册 Yarn 创建的集群 | 0.4.0 | ||
SQL | 新增 外部数据源的 SQL 校验 | 0.5.0 | |
新增 外部数据源的 SQL 执行与预览 | 0.5.0 | ||
元数据 | 新增 查询外部数据源的元数据信息 | 0.4.0 | |
归档 | 新增 执行与提交历史 | 0.4.0 | |
运维中心 | 暂无 | 暂无 | 0.4.0 |
注册中心 | Flink 集群实例 | 新增 外部 Flink 集群实例注册 | 0.4.0 |
新增 外部 Flink 集群实例心态检测与版本获取 | 0.4.0 | ||
新增 外部 Flink 集群手动一键回收 | 0.4.0 | ||
Flink 集群配置 | 新增 Flink On Yarn 集群配置注册及测试 | 0.4.0 | |
User Jar | 新增 外部 User Jar 注册 | 0.4.0 | |
数据源 | 新增 Mysql 数据源注册及测试 | 0.4.0 | |
新增 Oracle 数据源注册及测试 | 0.4.0 | ||
新增 postgreSql 数据源注册及测试 | 0.4.0 | ||
新增 ClickHouse 数据源注册及测试 | 0.4.0 | ||
关于 | 关于 Dlink | 版本更新记录 | 0.4.0 |
四、近期计划
1.支持同时托管多版本的Flink实例
2.支持K8S多种运行模式
3.支持多种任务调度框架接口
4.支持UDF动态加载
5.完善Studio交互功能
五、致谢
Apache Flink
Mybatis Plus
ant-design-pro
Monaco Editor
SpringBoot
docsify
此外,感谢 JetBrains 提供的免费开源 License 赞助