Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dlink
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaowei
dlink
Commits
ffa3b511
Commit
ffa3b511
authored
Dec 02, 2021
by
wenmo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.4.0 readme
parent
e34f6b77
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
114 additions
and
91 deletions
+114
-91
README.md
README.md
+114
-91
No files found.
README.md
View file @
ffa3b511
...
@@ -2,71 +2,71 @@
...
@@ -2,71 +2,71 @@
## 简介
## 简介
Dlink 为 Apache Flink 而生,让 Flink SQL 更加丝滑。它是一个 C/S 架构的 FlinkSQL Studio,可以交互式开发、
预览、校验 、执行、提交 FlinkSQL,支持 Flink 官方所有语法及其增强语法,并且可以同时对多 Flink 实例集群
进行提交、停止、SavePoint 等运维操作,如同您的 IntelliJ IDEA For Flink SQL。
Dlink 为 Apache Flink 而生,让 Flink SQL 更加丝滑。它是一个 C/S 架构的 FlinkSQL Studio,可以交互式开发、
补全、校验 、执行、预览 FlinkSQL,支持 Flink 官方所有语法及其增强语法,并且可以同时对多 Flink 集群实例
进行提交、停止、SavePoint 等运维操作,如同您的 IntelliJ IDEA For Flink SQL。
需要注意的是,Dlink 它更专注于 FlinkSQL 的应用,而不是 DataStream。在开发过程中您不会看到任何一句 java、scala 或者 python。所以,它的目标是基于 100% FlinkSQL 来实现批流一体的实时计算平台。
需要注意的是,Dlink 它更专注于 FlinkSQL 的应用,而不是 DataStream。在开发过程中您不会看到任何一句 java、scala 或者 python。所以,它的目标是基于 100% FlinkSQL 来实现批流一体的实时计算平台。
与此同时,Dlink 也是 DataLink 数据中台生态的核心组件。
DataLink 开源项目及社区正在建设,希望本项目可以帮助你更快发展。
## 原理
## 原理



## 功能
## 功能
注意:只表明核心功能,不包括细节。
注意:只表明核心功能,不包括细节。
| 域 | 概要 | 进展 |
| 域 | 概要 | 进展 |
| :-----------------: | :----------------------------------: | :------: |
| :-----------------: | :----------------------------------: | :----: |
| 基本管理 | 作业及Savepoint管理 | 已实现 |
| 基本管理 | 作业管理 | 已实现 |
| | FlinkSQL管理 | 已实现 |
| | FlinkSQL管理 | 已实现 |
| | Flink 集群管理 | 已实现 |
| | Flink 集群管理 | 已实现 |
| | Flink 集群配置管理 | 已实现 |
| | Flink 集群配置管理 | 已实现 |
| | 数据源管理 | 已实现 |
| | Jar 管理 | 已实现 |
| | 文档管理 | 已实现 |
| | 数据源管理 | 已实现 |
| | 系统配置 | 已实现 |
| | 文档管理 | 已实现 |
| | 用户管理 | 已实现 |
| | 系统配置 | 已实现 |
| FlinkSQL 语法增强 | SQL 片段语法 | 已实现 |
| | 用户管理 | 已实现 |
| | AGGTABLE 语法 | 已实现 |
| FlinkSQL 语法增强 | SQL 片段语法 | 已实现 |
| | 语句集 | 已实现 |
| | AGGTABLE 语法 | 已实现 |
| | 支持 sql-client 所有语法 | 已实现 |
| | 语句集 | 已实现 |
| FlinkSQL 交互式开发 | 会话的 connector 查询 | 已实现 |
| | 支持 sql-client 所有语法 | 已实现 |
| | 语法检查 | 已实现 |
| FlinkSQL 交互式开发 | 会话的 connector 查询 | 已实现 |
| | 执行图校验 | 已实现 |
| | 语法检查 | 已实现 |
| | 上下文元数据自动提示与补全 | 已实现 |
| | 执行图校验 | 已实现 |
| | 自定义代码补全 | 已实现 |
| | 上下文元数据自动提示与补全 | 已实现 |
| | 关键字高亮 | 已实现 |
| | 自定义代码补全 | 已实现 |
| | 结构折叠与缩略图 | 已实现 |
| | 关键字高亮 | 已实现 |
| | 支持选中提交 | 已实现 |
| | 结构折叠与缩略图 | 已实现 |
| | 布局拖拽 | 已实现 |
| | 支持选中提交 | 已实现 |
| | SELECT、SHOW等语法数据预览 | 已实现 |
| | 布局拖拽 | 已实现 |
| | JobGraph 图预览 | 已实现 |
| | SELECT、SHOW等语法数据预览 | 已实现 |
| Flink 任务运维 | standalone SQL提交 | 已实现 |
| | JobGraph 图预览 | 已实现 |
| | yarn session SQL提交 | 已实现 |
| | 血缘分析 | 已实现 |
| | yarn per-job SQL提交 | 已实现 |
| Flink 任务运维 | standalone SQL提交 | 已实现 |
| | yarn application SQL提交 | 已实现 |
| | yarn session SQL提交 | 已实现 |
| | yarn application Jar提交 | 已实现 |
| | yarn per-job SQL提交 | 已实现 |
| | 作业 Cancel | 已实现 |
| | yarn application SQL提交 | 已实现 |
| | 作业 SavePoint Cancel,Stop,Trigger | 已实现 |
| | yarn application Jar提交 | 已实现 |
| | 作业从 SavePoint 恢复 | 已实现 |
| | 作业 Cancel | 已实现 |
| 元数据功能 | Flink Catelog 浏览(connector) | 已实现 |
| | 作业 SavePoint Cancel,Stop,Trigger | 已实现 |
| | 外部数据源元数据浏览 | 已实现 |
| | 作业从 SavePoint 恢复 | 已实现 |
| 共享会话 | 支持 Session 集群 Catelog 持久与浏览 | 已实现 |
| | SavePoint 管理 | 已实现 |
| | 支持共享与私有会话 | 已实现 |
| 元数据功能 | Flink Catelog 浏览(connector) | 已实现 |
| Flink 集群中心 | 手动注册 Session 集群 | 已实现 |
| | 外部数据源元数据浏览 | 已实现 |
| | 自动注册 per-job 和 application 集群 | 已实现 |
| 共享会话 | 支持 Session 集群 Catelog 持久与浏览 | 已实现 |
| | 支持共享与私有会话 | 已实现 |
| Flink 集群中心 | 手动注册 Session 集群 | 已实现 |
| | 自动注册 per-job 和 application 集群 | 已实现 |
| | 一键回收集群 | 已实现 |
## 部署
## 部署
### 版本
### 版本
抢先体验( main 主支):dlink-0.
4.0
抢先体验( main 主支):dlink-0.
5.0-SNAPSHOT
稳定版本( 0.
3.2 分支):dlink-0.3.2
稳定版本( 0.
4.0 分支):dlink-0.4.0
### 从安装包开始
### 从安装包开始
...
@@ -74,14 +74,9 @@ DataLink 开源项目及社区正在建设,希望本项目可以帮助你更
...
@@ -74,14 +74,9 @@ DataLink 开源项目及社区正在建设,希望本项目可以帮助你更
config/ -- 配置文件
config/ -- 配置文件
|- application.yml
|- application.yml
extends/ -- 扩展
extends/ -- 扩展
|- clickhouse-jdbc-0.2.6.jar
|- dlink-client-1.11.jar
|- dlink-client-1.11.jar
|- dlink-client-1.12.jar
|- dlink-client-1.12.jar
|- dlink-client-1.14.jar
|- dlink-client-1.14.jar
|- flink-sql-connector-hbase-1.4_2.11-1.13.2.jar
|- flink-sql-connector-hbase-2.2_2.11-1.13.2.jar
|- flink-sql-connector-kafka_2.11-1.13.2.jar
|- ojdbc8-12.2.0.1.jar
html/ -- 前端编译产物,用于Nginx
html/ -- 前端编译产物,用于Nginx
jar/ -- dlink application模式提交sql用到的jar
jar/ -- dlink application模式提交sql用到的jar
lib/ -- 内部组件
lib/ -- 内部组件
...
@@ -93,11 +88,15 @@ lib/ -- 内部组件
...
@@ -93,11 +88,15 @@ lib/ -- 内部组件
|- dlink-metadata-oracle.jar
|- dlink-metadata-oracle.jar
|- dlink-metadata-postgresql.jar
|- dlink-metadata-postgresql.jar
plugins/
plugins/
|- flink-connector-jdbc_2.11-1.12.5.jar
|- flink-connector-jdbc_2.11-1.13.3.jar
|- flink-csv-1.12.5.jar
|- flink-csv-1.13.3.jar
|- flink-json-1.12.5.jar
|- flink-dist_2.11-1.13.3.jar
|- flink-json-1.13.3.jar
|- flink-shaded-hadoop-3-uber-3.1.1.7.2.1.0-327-9.0.jar
|- flink-shaded-zookeeper-3.4.14.jar
|- flink-table-blink_2.11-1.13.3.jar
|- flink-table_2.11-1.13.3.jar
|- mysql-connector-java-8.0.21.jar
|- mysql-connector-java-8.0.21.jar
|- flink-shaded-hadoop-3-uber.jar
sql/
sql/
|- dlink.sql --Mysql初始化脚本
|- dlink.sql --Mysql初始化脚本
auto.sh --启动停止脚本
auto.sh --启动停止脚本
...
@@ -105,7 +104,7 @@ dlink-admin.jar --程序包
...
@@ -105,7 +104,7 @@ dlink-admin.jar --程序包
```
```
解压后结构如上所示,修改配置文件内容。
解压后结构如上所示,修改配置文件内容。
lib 文件夹下存放 dlink 自身的扩展文件,plugins 文件夹下存放 flink 及 hadoop 的官方扩展文件。
`flink-shaded-hadoop-3-uber.jar`
需要自行下载并添加
。
lib 文件夹下存放 dlink 自身的扩展文件,plugins 文件夹下存放 flink 及 hadoop 的官方扩展文件。
其中 plugins 中的所有 jar 需要根据版本号自行下载并添加,才能体验完整功能
。
extends 文件夹只作为扩展插件的备份管理,不会被 dlink 加载。
extends 文件夹只作为扩展插件的备份管理,不会被 dlink 加载。
在Mysql数据库中创建数据库并执行初始化脚本。
在Mysql数据库中创建数据库并执行初始化脚本。
...
@@ -119,10 +118,8 @@ sh auto.sh restart
...
@@ -119,10 +118,8 @@ sh auto.sh restart
sh auto.sh status
sh auto.sh status
```
```
此时通过 8888 端口号可以正常访问 Dlink 的前端页面,但是如果在 plugins 中引入 Hadoop 依赖后,网页将无法正常访问,所以建议使用 nginx 的方式部署。
前端 Nginx 部署:
前端 Nginx 部署:
将
dist.rar 解压并
上传至 nginx 的 html 文件夹下,修改 nginx 配置文件并重启。
将
html 文件夹
上传至 nginx 的 html 文件夹下,修改 nginx 配置文件并重启。
```
shell
```
shell
server
{
server
{
...
@@ -166,7 +163,7 @@ sh auto.sh status
...
@@ -166,7 +163,7 @@ sh auto.sh status
1.
server.listen 填写前端访问端口
1.
server.listen 填写前端访问端口
2.
proxy_pass 填写后端地址如 http://127.0.0.1:8888
2.
proxy_pass 填写后端地址如 http://127.0.0.1:8888
3.
将
dist 文件夹下打包好的
资源上传到 nginx 的 html 文件夹中,重启 nginx,访问即可。
3.
将
html 文件夹下打包好的前端
资源上传到 nginx 的 html 文件夹中,重启 nginx,访问即可。
### 从源码编译
### 从源码编译
...
@@ -222,8 +219,6 @@ dlink -- 父项目
...
@@ -222,8 +219,6 @@ dlink -- 父项目
mvn clean
install
-Dmaven
.test.skip
=
true
mvn clean
install
-Dmaven
.test.skip
=
true
```
```
如果前端编译 umi 报错时:npm install -g umi
#### 扩展Connector及UDF
#### 扩展Connector及UDF
将 Flink 集群上已扩展好的 Connector 和 UDF 直接放入 Dlink 的 lib 下,然后重启即可。
将 Flink 集群上已扩展好的 Connector 和 UDF 直接放入 Dlink 的 lib 下,然后重启即可。
...
@@ -239,13 +234,17 @@ Flink 的版本取决于 lib 下的 dlink-client-1.13.jar。
...
@@ -239,13 +234,17 @@ Flink 的版本取决于 lib 下的 dlink-client-1.13.jar。
当前版本默认为 Flink 1.13.3 API。
当前版本默认为 Flink 1.13.3 API。
向其他版本的集群提交任务可能存在问题,已实现 1.11、1.12、1.13, 1.14,切换版本时只需要将对应依赖在lib下进行替换,然后重启即可。
向其他版本的集群提交任务可能存在问题,已实现 1.11、1.12、1.13, 1.14,切换版本时只需要将对应依赖在lib下进行替换,然后重启即可。
切换版本时需要同时更新 plugins 下的 Flink 依赖。
## 使用手册
## 使用手册
### 基础使用
### 基础使用
#### 登录
#### 登录
当前版本用户名和密码在配置文件中配置。
超级管理员:admin/admin;
新增用户:默认密码 123456。
#### 集群中心
#### 集群中心
...
@@ -285,7 +284,7 @@ AGG BY TOP2(value) as (value,rank);
...
@@ -285,7 +284,7 @@ AGG BY TOP2(value) as (value,rank);
11.
执行 SQL 时,如果您选中了部分 SQL,则会执行选中的内容,否则执行全部内容。
11.
执行 SQL 时,如果您选中了部分 SQL,则会执行选中的内容,否则执行全部内容。
12.
小火箭的提交功能是异步提交当前任务已保存的 FlinkSQL 及配置到集群。由于适用于快速提交稳定的任务,所以无法提交草稿,且无法预览数据。
12.
小火箭的提交功能是异步提交当前任务已保存的 FlinkSQL 及配置到集群。由于适用于快速提交稳定的任务,所以无法提交草稿,且无法预览数据。
13.
执行信息或者历史中那个很长很长的就是集群上的 JobId,任务历史可以查看执行过的任务的数据回放。
13.
执行信息或者历史中那个很长很长的就是集群上的 JobId,任务历史可以查看执行过的任务的数据回放。
14.
草稿是无法被异步远程提交的,只能同步执行。
14.
草稿是无法被异步远程提交的,只能同步执行
,且无法保存
。
15.
灰色按钮代表近期将实现。
15.
灰色按钮代表近期将实现。
16.
同步执行时可以自由指定任务名,异步提交默认为作业名。
16.
同步执行时可以自由指定任务名,异步提交默认为作业名。
17.
支持 set 语法设置 Flink 的执行配置,其优先级大于右侧的配置。
17.
支持 set 语法设置 Flink 的执行配置,其优先级大于右侧的配置。
...
@@ -296,8 +295,8 @@ AGG BY TOP2(value) as (value,rank);
...
@@ -296,8 +295,8 @@ AGG BY TOP2(value) as (value,rank);
22.
支持可执行 FlinkSql (Insert into)的血缘分析,无论你的 sql 有多复杂或者多 view。
22.
支持可执行 FlinkSql (Insert into)的血缘分析,无论你的 sql 有多复杂或者多 view。
23.
Dlink 目前提交方式支持 Standalone 、Yarn Session、Yarn PerJob、Yarn Application,K8S 后续支持。
23.
Dlink 目前提交方式支持 Standalone 、Yarn Session、Yarn PerJob、Yarn Application,K8S 后续支持。
24.
Dlink 目前对于 Flink 多版本的支持只能一个 Dlink 实例支持一个 Flink 版本,未来将开源同时支持多版本的能力。
24.
Dlink 目前对于 Flink 多版本的支持只能一个 Dlink 实例支持一个 Flink 版本,未来将开源同时支持多版本的能力。
25.
使用 Yarn PerJob、Yarn Application 需要配置集群配置
25.
使用 Yarn PerJob、Yarn Application 需要配置集群配置
。
26.
新版截图后续更新
26.
其他内容后续更新。。。
#### 使用技巧
#### 使用技巧
...
@@ -313,6 +312,8 @@ AGG BY TOP2(value) as (value,rank);
...
@@ -313,6 +312,8 @@ AGG BY TOP2(value) as (value,rank);
6.[
Dlink 读写 Hive 的实践
](
https://github.com/DataLinkDC/dlink/blob/dev/dlink-doc/doc/Dlink%E8%AF%BB%E5%86%99Hive%E7%9A%84%E5%AE%9E%E8%B7%B5.md
)
6.[
Dlink 读写 Hive 的实践
](
https://github.com/DataLinkDC/dlink/blob/dev/dlink-doc/doc/Dlink%E8%AF%BB%E5%86%99Hive%E7%9A%84%E5%AE%9E%E8%B7%B5.md
)
7.[
Dlink On Yarn 三种 Flink 执行方式的实践
](
https://github.com/DataLinkDC/dlink/blob/main/dlink-doc/doc/DlinkOnYarn%E4%B8%89%E7%A7%8DFlink%E6%89%A7%E8%A1%8C%E6%96%B9%E5%BC%8F%E7%9A%84%E5%AE%9E%E8%B7%B5.md
)
#### 常见问题及解决
#### 常见问题及解决
(=。=)~ 敬请期待。
(=。=)~ 敬请期待。
...
@@ -329,19 +330,31 @@ AGG BY TOP2(value) as (value,rank);
...
@@ -329,19 +330,31 @@ AGG BY TOP2(value) as (value,rank);
[
SpringBoot
](
)
[
SpringBoot
](
)
## 近期计划
1.
支持同时托管多版本的Flink实例
2.
支持K8S多种运行模式
3.
支持多种任务调度框架接口
4.
支持UDF动态加载
5.
完善Studio交互功能
## 交流与贡献
## 交流与贡献
欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。
欢迎您加入社区交流分享,也欢迎您为社区贡献自己的力量。
在此有意向参与代码及文档贡献或积极测试者可以私信我加入 Dlink Contributors 群聊进一步了解。
在此有意向参与代码及文档贡献或积极测试者可以私信我加入 Dlink Contributors 群聊进一步了解。
dlink将正式开始社区积极的发展阶段,社区的主旨是开放、交流、创新、共赢,dlink的核心理念是创新,即不受思想约束地勇于尝试。
d
atalink本就是一个创新型的解决方案,而不是模仿别人的思路按部就班,一味模仿对于社区及所有人的发展意义并不大,积极创新才可能独树一帜,并为大家带来更大的利益
。
d
link将正式开始社区积极的发展阶段,社区的主旨是开放、交流、创新、共赢,dlink的核心理念是创新,即不受思想约束地勇于尝试。dlink本就是一个创新型的解决方案,而不是模仿已有产品的思路按部就班,一味模仿对于社区及所有人的发展意义并不大,积极创新才可能独树一帜,并为大家带来更大的利益。无论您是否已经建成了自己的FlinkSQL平台,相信它一定会在创新的方向上为您带来些许启发
。
无论您是否已经建成了自己的FlinkSQL平台或者数据中台,相信它一定会在创新的方向上为您带来些许启发。
在此非常感谢大家的支持~
在此非常感谢大家的支持~
QQ社区群:
**543709668**
,申请备注 “ Dlink ”,不写不批
哦
QQ社区群:
**543709668**
,申请备注 “ Dlink ”,不写不批
微信社区群
:添加微信号 wenmo_ai 邀请进群,申请备注 “ Dlink ”,不写不批哦
微信社区群
(推荐):添加微信号 wenmo_ai 邀请进群,申请备注 “ Dlink ”,不写不批
公众号:
[
DataLink数据中台
](
https://mmbiz.qpic.cn/mmbiz_jpg/dyicwnSlTFTp6w4PuJruFaLV6uShCJDkzqwtnbQJrQ90yKDuuIC8tyMU5DK69XZibibx7EPPBRQ3ic81se5UQYs21g/0?wx_fmt=jpeg
)
公众号:
[
DataLink数据中台
](
https://mmbiz.qpic.cn/mmbiz_jpg/dyicwnSlTFTp6w4PuJruFaLV6uShCJDkzqwtnbQJrQ90yKDuuIC8tyMU5DK69XZibibx7EPPBRQ3ic81se5UQYs21g/0?wx_fmt=jpeg
)
...
@@ -355,56 +368,66 @@ QQ社区群:**543709668**,申请备注 “ Dlink ”,不写不批哦
...
@@ -355,56 +368,66 @@ QQ社区群:**543709668**,申请备注 “ Dlink ”,不写不批哦
> 首页
> 首页


> Studio
任务提交
> Studio
SQL 开发提示与补全


> Studio 语法逻辑检查
> Studio 语法
和
逻辑检查


> Studio 批流预览
> Studio 批流
SELECT
预览


> Studio 异常反馈
> Studio 异常反馈


> Studio 进程监控
> Studio 进程监控


> Studio 执行历史
> Studio 执行历史


> Studio 数据回放
> Studio 数据回放


> Studio SavePoint 管理

> Studio 血缘分析
> Studio 血缘分析


> Studio 函数浏览
> Studio 函数浏览


> Studio 共享会话
> Studio 共享会话


> 集群管理

> 集群
注册
> 集群
配置管理


> 数据源
注册
> 数据源
管理


> 元数据查询
> 元数据查询


\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment