IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Dlink 重磅来袭,让 FlinkSQL 更加丝滑 -> 正文阅读

[大数据]Dlink 重磅来袭,让 FlinkSQL 更加丝滑

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=true
        username: dlink
        password: dlink
        driver-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数据中台在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 11:43:03  更:2021-07-29 11:43:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 21:07:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码