Dlink 重磅来袭,让 FlinkSQL 更加丝滑

前言

Apache Flink 1.14 即将来袭,与此同时 Dlink 也带来了最新的进展,试图使 FlinkSQL 更加丝滑。

简介

Dlink 为 Apache Flink 而生。它基于 Flink 源码进行二次开发,增强特性的同时兼具解耦,最终提供了一个 FlinkSQL Studio 的能力。

值得注意的是,Dlink 更专注于 FlinkSQL 的应用,试图通过 100% SQL 化来胜任企业中常见的业务情景,降低 Flink 的使用门槛,减少运维开发成本,加快 Flink 的应用推广。

功能

Dlink 提供了仿 IDE 的 SQL 开发界面,支持语法高亮、自动补全、参数配置、语法逻辑检查、SQL 远程提交、批流 SELECT 预览、血缘分析、执行历史、任务启停等功能;Dlink 还提供了 Flink 集群实例管理、数据源管理、元数据、函数文档等功能。

注意:0.3.0 为架构版本,只包含基础架构,相应实现与扩展将在其修订版本更新。

首页

Dlink 的首页主要展示了其开源进展。

未来将改为数据地图。

Flink 集群注册

Dlink 可以对多版本的任意部署方式的 Flink 集群多实例进行接管,只需要将 Flink 的 JobManager 注册到 Dlink 中即可完成对接工作,此外 Dlink 无缝兼容 Flink 的所有拓展组件,即可以将 Flink 集群下的依赖加入 Dlink lib 下进行使用。

对于 HA 部署的 Flink 集群,只需要将 JobManager 可能出现的所有地址以英文逗号连接配置即可,如 “192.168.123.156:8081,192.168.123.157:8081,192.168.123.158:8081”,Dlink 会在执行任务的间隙自动检测 JobManager 的地址,确保当发生事故时任务仍可以正常提交与管理。

注意:目前 Dlink 主要支持 session 模式的任务执行方式。

未来将支持 application 和 perjob 。

Flink SQL 开发

Dlink 提供了仿 IDE 的前端开发界面,支持语法高亮、自动补全等特性,左侧目录维护了 SQL 任务的管理,右侧配置维护了 SQL 任务的执行参数,上方提供了快捷功能按钮与当前状态信息,底部则提供了一系列的展示功能。

需要注意的是,0.3.0 版本的 Dlink 每个任务只能提交一个 Insert 或 Select 语句。点击右上方的执行按钮将当前页面的 SQL 与配置信息提交到后台进行执行。

未来将支持语句集的提交管理。

Flink SQL 语法与逻辑检查

Dlink 提供了语句片段、AGGTABLE等增强特性,并提供了包含新特性的语法校验与执行图的生成校验,可帮助开发者在提交快速定位语句问题,再也不需要盲写后提交至 SQL-Client 等其他入口。

语句片段:

sf:=select * from;tb:=student;
${sf} ${tb}
##效果等同于
select * from student

AGGTABLE 标值聚合函数:

CREATE AGGTABLE aggdemo AS
SELECT myField,value,rank
FROM MyTable
GROUP BY myField
AGG BY TOP2(value) as (value,rank);

Flink SQL 批流预览

Dlink 提供了比 SQL-Client 更强大的数据预览功能,即 Dlink 可以实时预览流任务与批任务 Select 的执行结果,可帮助开发者快速获取语句的执行效果以及数据质量问题排查等工作,如同数据库连接工具一样流畅。

Flink SQL 执行历史

Dlink 提供了 SQL 的执行历史管理,记录了任务细节与执行信息,方便开发者快速追溯执行记录。

Flink SQL 数据回放

Dlink 通过执行历史的载体提供了历史任务的预览数据回放功能,无需再次执行即可还原当时数据状态。

Flink SQL 异常排查

Dlink 在提交任务时记录了 SQL 在翻译、校验、生成、执行等过程的异常信息,帮助开发者快速定位问题根源。

未来将支持异常信息解决思路的管理。

Flink SQL 进程监控

Dlink 对已注册的 Flink 集群进行了托管,可以进行实现监控、任务停止等操作。

未来将支持 Flink 集群所有功能的管理。

Flink SQL 血缘分析

Dlink 提供了表字段的血缘分析,通过 JobGraph 获取最真实的血缘结果,不受冗余语句的影响。

未来将支持全局血缘分析、影响分析等。

Flink SQL 共享会话

Dlink 提供了共享会话来进行 Catalog 的共享,使开发者可以在团队开发中灵活共享环境以及协助排查问题。

Flink SQL 函数文档

Dlink 提供了 SQL 函数文档的管理,可以协助开发者快速查找相关功能的函数文档。

数据源注册

Dlink 提供了外部数据源的管理与注册。
未来将扩展其他数据源。

元数据查询

Dlink 提供了数据源的元数据查询功能。

未来将支持 SQL 语句生成、Catalog 加载等。

部署

下载地址

链接:https://pan.baidu.com/s/1-2qIE01gj7v51GdqWw5rhw

提取码:0300

从源码编译

dlink -- 父项目
|-dlink-admin -- 管理中心
|-dlink-client -- Client 中心
| |-dlink-client-1.12 -- Client-1.12 实现
| |-dlink-client-1.13 -- Client-1.13 实现
|-dlink-common -- 通用中心
|-dlink-connectors -- Connectors 中心
| |-dlink-connector-jdbc -- Jdbc 扩展
|-dlink-core -- 执行中心
|-dlink-doc -- 文档
| |-bin -- 启动脚本
| |-bug -- bug 反馈
| |-config -- 配置文件
| |-doc -- 使用文档
| |-sql -- sql脚本
|-dlink-function -- 函数中心
|-dlink-metadata -- 元数据中心
| |-dlink-metadata-base -- 元数据基础组件
| |-dlink-metadata-clickhouse -- 元数据- clickhouse 实现
| |-dlink-metadata-mysql -- 元数据- mysql 实现
| |-dlink-metadata-oracle -- 元数据- oracle 实现
| |-dlink-metadata-postgresql -- 元数据- postgresql 实现
|-dlink-web -- React 前端

一键打包至根本目录 build 文件夹:

mvn clean install -Dmaven.test.skip=true

应用结构

config/ -- 配置文件
|- application.yml
lib/ -- 外部依赖及Connector
|- dlink-client-1.12.jar -- 必需,二选一
|- dlink-client-1.13.jar -- 必需,二选一
|- dlink-metadata-jdbc.jar
|- dlink-connector-jdbc.jar
|- dlink-function-0.2.3.jar
|- flink-connector-jdbc_2.11-1.12.4.jar
|- flink-csv-1.12.4.jar
|- flink-json-1.12.4.jar
|- mysql-connector-java-8.0.21.jar
sql/
|- dlink.sql -- Mysql初始化脚本
auto.sh -- 启动停止脚本
dlink-admin.jar -- 程序包

修改配置文件

spring:datasource:url: jdbc:mysql://127.0.0.1:3306/dlink?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: dlinkpassword: dlinkdriver-class-name: com.mysql.cj.jdbc.Driver

初始化数据库

在 Mysql 数据库中执行 dlink.sql 脚本。

执行与停止

# 启动
sh auto.sh start
# 停止
sh auto.sh stop
# 重启
sh auto.sh restart
# 状态
sh auto.sh status

扩展

Connector

遵循 Flink Connector 扩展原则,Flink 集群上的 Connector 可以直接加入 lib 目录下进行扩展,重启生效。

Function

遵循 Flink Function 扩展原则,无需 main 方法,直接加入 lib 目录下进行扩展,重启生效。

MetaData

基于 SPI 扩展,可见源码示例,加入 lib 目录下进行扩展,重启生效。

未来

Dlink 0.4.0 将于 0.3.0 功能完善后提上日程,主要包含企业级应用功能如时间调度、依赖调度、数据地图等。

Dlink 将紧跟 Flink 官方社区发展,为推广及发展 Flink 的应用而奋斗,打造 FlinkSQL 的最佳搭档的形象。

与此同时,DataLink 数据中台将同步发展,未来将提供开源的企业级数据中台解决方案。

交流

欢迎您加入社区交流分享与批评,也欢迎您为社区贡献自己的力量。

QQ社区群:543709668,申请备注 “ Dlink ”,不写不批

微信群:

公众号:DataLink数据中台

Dlink 重磅来袭,让 FlinkSQL 更加丝滑相关推荐

  1. 只用静态图像,就能实时渲染出丝滑3D效果 | CVPR 2021 Oral

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI 这般丝滑的美食展示,是否让跟随镜头移动的你食指大动? 再看这放大镜里流畅变化的弹簧,你敢相信,这完全是用静态图像合成的吗? 没错,这样的动 ...

  2. CVPR 2021 Oral|只用静态图像,就能实时渲染出丝滑3D效果

    作者丨鱼羊 来源丨量子位 编辑丨极市平台 [导读] 入选CVPR2021 Oral,NeX的AI,能直接把每秒渲染帧数从0.02帧提升到60帧,渲染速度比NeRF要快1000倍以上. 这般丝滑的美食展 ...

  3. Unity技能工厂——怎样实现丝滑的角色连击动画

    RPG类型的动作游戏因为其敏捷的工作动作,技能连招之间丝滑的衔接,视觉冲击感爆棚的技能释放特效,所谓"拳拳刀肉,刀刀进身"的攻击效果,吸引了一大批忠实角色类扮演游戏的忠实粉丝. 那 ...

  4. C 一样快,Ruby 般丝滑的 Crystal 发布 1.0 版本,你看好吗?

    整理 | 寇雪芹 头图 | 下载于视觉中国 出品 | AI科技大本营(ID:rgznai100) 近日,编程语言 Crystal 发布了 1.0 版本. Crystal 是一种通用的.面向对象的编程语 ...

  5. java安装好了打不开机_劝告大家!早餐打豆浆,黄豆泡好直接打不对,教你1招,豆浆香浓更丝滑...

    " 导语:打豆浆泡好直接打?难怪豆浆没有早餐店的好喝,教你正确做法 适当吃豆制品对于大人小孩都有好处,豆浆作为其中的一种,更是我家早餐常会喝的,香浓顺滑的豆浆,搭配油条或者是饼,美好的早餐便 ...

  6. 阿里云数据库专家白宸:Redis带你尽享丝滑!(图灵访谈)

    访谈嘉宾: 本名郑明杭,现阿里云NoSQL数据库技术专家.先后从事Tair分布式系统.Memcached云服务及阿里云Redis数据库云服务开发,关注分布式系统及NoSQL存储技术前沿. 作为嘉宾,曾 ...

  7. 惊!YOLOv5重磅来袭!还是基于Pytorch实现?

    关注上方"深度学习技术前沿",选择"星标公众号", 技术干货,第一时间送达! [导读]继4月24日YOLOv4重磅来袭之后,YOLOv4中一大波tricks还没 ...

  8. 字节腾讯阿里罕见联手:发布直播技术新标准,要让手机直播像电视一样丝滑...

    明敏 发自 凹非寺 量子位 | 公众号 QbitAI 字节.阿里.腾讯3家大厂联手搞了件大事: 把传统直播3-6秒的延迟,直接拉低到1秒内大关,最低可到500毫秒的那种. 就在最近,火山引擎与阿里云. ...

  9. 朱俊彦团队最新论文:用GAN监督学习给左晃右晃的猫狗加表情,很丝滑很贴合...

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI GAN又被开发出一项"不正经"用途. 给猫狗加表情: 给马斯克加胡子: 不管视频中的脑袋怎么左晃右晃,这些表情都能始终如 ...

最新文章

  1. 以太网帧最小字节数以及以太网碰撞
  2. ATM信元的交换方式为?
  3. DevExpress控件之GridControl、GridView
  4. Razor Page–Asp.Net Core 2.0新功能 Razor Page介绍
  5. vb中picturebox透明时看到下面的picturebox中图片
  6. flexbox 弹性盒模型
  7. 上次被人说TK不好咯,这次给你整个高大上的
  8. Arduino IDE下载安装ESP8266/32慢的解决办法
  9. 数据库原理mysql课堂超星尔雅_超星尔雅数据库原理网课答案
  10. Win10家庭版远程桌面工具RDP Wrapper
  11. (SQL)使用Excel连接数据库
  12. 【高阶乐理】即兴演奏——和弦进行的重要原则(现代流行乐)
  13. Linux_标准IO
  14. jsp+ssm计算机毕业设计电影影评网【附源码】
  15. 输入电压=24V 输出电压=8V 1.5A TO-252-5 DCDC芯片推荐
  16. 添加系统调用的方法,2.6.35(没有测试)
  17. 在此计算机运行应用程序灰色,手把手教你解决win10系统自带应用呈灰色无法打开的处理教程...
  18. CTF中的Crypto
  19. 如何绘制流程图?绘制流程图在线网站分享
  20. android 大富翁模拟器,我要当老板大富翁模拟器

热门文章

  1. 《加勒比海盗4》——好戏更精彩
  2. Css3引用外部字体样式---博客园老牛大讲堂
  3. 让Octave支持中文
  4. 系统注册表方式修改背景颜色
  5. C++在linux环境下获取毫秒、微妙级别时间
  6. 陈平 教授的演讲(经济学家)
  7. 微分几何笔记(7) —— 光滑微分流形
  8. 叉积 微分 恒等式_微分几何(一)
  9. YUV数据格式的转换(NV12ToI420)和旋转(旋转90度)
  10. UIUC同学Jia-Bin Huang收集的计算机视觉代码合集(ZZ)