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
4bea4875
Commit
4bea4875
authored
Mar 17, 2022
by
zhu-mingye
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
8d573cf5
a4a8eb83
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
655 additions
and
235 deletions
+655
-235
README.md
README.md
+1
-0
Job2MysqlHandler.java
...k-admin/src/main/java/com/dlink/job/Job2MysqlHandler.java
+2
-1
package.xml
dlink-assembly/src/main/assembly/package.xml
+8
-0
LineageColumnGenerator.java
...a/com/dlink/explainer/lineage/LineageColumnGenerator.java
+15
-13
MapParseUtils.java
dlink-core/src/main/java/com/dlink/utils/MapParseUtils.java
+5
-0
LineageTest.java
dlink-core/src/test/java/com/dlink/core/LineageTest.java
+1
-1
Executor.java
...k-executor/src/main/java/com/dlink/executor/Executor.java
+4
-4
Welcome.tsx
dlink-web/src/pages/Welcome.tsx
+3
-0
_sidebar.md
docs/zh-CN/_sidebar.md
+19
-16
Hotkey.md
docs/zh-CN/administrator-guide/Hotkey.md
+156
-0
metadata.md
docs/zh-CN/administrator-guide/metadata.md
+42
-0
cluster_manage.md
...h-CN/administrator-guide/registerCenter/cluster_manage.md
+139
-0
datasource_manage.md
...N/administrator-guide/registerCenter/datasource_manage.md
+1
-1
jar_manager.md
docs/zh-CN/administrator-guide/registerCenter/jar_manager.md
+58
-0
datasource.md
docs/zh-CN/extend/datasource.md
+1
-0
yarnsubmit.md
docs/zh-CN/practice/yarnsubmit.md
+200
-199
No files found.
README.md
View file @
4bea4875
...
...
@@ -118,6 +118,7 @@ Dinky(原 Dlink):
| | | 新增 Doris 数据源注册及测试 | 0.6.0 |
| | | 新增 Phoenix 数据源注册及测试 | 0.6.0 |
| | | 新增 SqlServer 数据源注册及测试 | 0.6.0 |
| | | 新增 Hive 数据源注册及测试 | 0.6.0 |
| | 报警实例管理 | 新增 钉钉报警 | 0.6.0 |
| | | 新增 微信企业号报警 | 0.6.0 |
| | 报警组管理 | 新增 报警组管理 | 0.6.0 |
...
...
dlink-admin/src/main/java/com/dlink/job/Job2MysqlHandler.java
View file @
4bea4875
...
...
@@ -4,6 +4,7 @@ import com.dlink.assertion.Asserts;
import
com.dlink.context.SpringContextUtils
;
import
com.dlink.daemon.task.DaemonFactory
;
import
com.dlink.daemon.task.DaemonTaskConfig
;
import
com.dlink.gateway.GatewayType
;
import
com.dlink.model.*
;
import
com.dlink.service.*
;
import
com.dlink.utils.JSONUtil
;
...
...
@@ -114,7 +115,7 @@ public class Job2MysqlHandler implements JobHandler {
if
(
Asserts
.
isNotNull
(
job
.
getJobConfig
().
getJarId
()))
{
jar
=
jarService
.
getById
(
job
.
getJobConfig
().
getJarId
());
}
if
(
Asserts
.
isNotNullCollection
(
job
.
getJids
()))
{
if
(
Asserts
.
isNotNullCollection
(
job
.
getJids
())
&&
!
GatewayType
.
LOCAL
.
equalsValue
(
job
.
getJobConfig
().
getType
())
)
{
for
(
String
jid
:
job
.
getJids
())
{
JobInstance
jobInstance
=
history
.
buildJobInstance
();
jobInstance
.
setHistoryId
(
job
.
getId
());
...
...
dlink-assembly/src/main/assembly/package.xml
View file @
4bea4875
...
...
@@ -158,6 +158,14 @@
<include>
dlink-metadata-doris-${project.version}.jar
</include>
</includes>
</fileSet>
<fileSet>
<directory>
${project.parent.basedir}/dlink-metadata/dlink-metadata-phoenix/target
</directory>
<outputDirectory>
lib
</outputDirectory>
<includes>
<include>
dlink-metadata-phoenix-${project.version}.jar
</include>
</includes>
</fileSet>
<fileSet>
<directory>
${project.parent.basedir}/dlink-alert/dlink-alert-dingtalk/target
</directory>
...
...
dlink-core/src/main/java/com/dlink/explainer/lineage/LineageColumnGenerator.java
View file @
4bea4875
...
...
@@ -68,17 +68,17 @@ public class LineageColumnGenerator {
Trans
trans
=
entry
.
getValue
();
if
(
trans
instanceof
SinkTrans
)
{
TableCA
tableCA
=
new
TableCA
((
SinkTrans
)
trans
);
matchSinkField
(
tableCA
,
trans
);
matchSinkField
(
tableCA
,
trans
);
searchColumnCAId
(
tableCA
);
}
}
chainRelation
();
}
private
void
matchSinkField
(
TableCA
tableCA
,
Trans
trans
)
{
for
(
ColumnCA
columnCA:
columnCAS
)
{
for
(
String
fieldName:
tableCA
.
getFields
())
{
if
(
columnCA
.
getName
().
equals
(
fieldName
))
{
private
void
matchSinkField
(
TableCA
tableCA
,
Trans
trans
)
{
for
(
ColumnCA
columnCA
:
columnCAS
)
{
for
(
String
fieldName
:
tableCA
.
getFields
())
{
if
(
columnCA
.
getName
().
equals
(
fieldName
))
{
int
cid
=
index
++;
ColumnCA
sinkColumnCA
=
new
ColumnCA
(
cid
,
fieldName
,
fieldName
,
fieldName
,
fieldName
,
fieldName
,
tableCA
,
trans
);
columnCASMaps
.
put
(
cid
,
sinkColumnCA
);
...
...
@@ -124,7 +124,7 @@ public class LineageColumnGenerator {
break
;
}
}
if
(
columnCA
.
getId
()==
cid
)
{
if
(
columnCA
.
getId
()
==
cid
)
{
return
;
}
if
(!
isHad
)
{
...
...
@@ -176,20 +176,22 @@ public class LineageColumnGenerator {
}
private
void
chainRelation
()
{
Set
<
NodeRel
>
nodeRelsChain
=
new
HashSet
<>();
for
(
Integer
item
:
sourceColumns
)
{
nodeRelsChain
.
add
(
new
NodeRel
(
item
,
getNextSuf
(
item
))
);
buildSinkSuf
(
item
,
item
);
}
columnCASRelChain
=
nodeRelsChain
;
}
private
Integer
getNextSuf
(
Integer
suf
Id
)
{
private
void
buildSinkSuf
(
Integer
preId
,
Integer
sourcePre
Id
)
{
for
(
NodeRel
nodeRel
:
columnCASRel
)
{
if
(
nodeRel
.
getPreId
()
==
sufId
)
{
return
getNextSuf
(
nodeRel
.
getSufId
());
if
(
nodeRel
.
getPreId
()
==
preId
)
{
Integer
nextSufId
=
nodeRel
.
getSufId
();
if
(
sinkColumns
.
contains
(
nextSufId
))
{
columnCASRelChain
.
add
(
new
NodeRel
(
sourcePreId
,
nextSufId
));
continue
;
}
buildSinkSuf
(
nextSufId
,
sourcePreId
);
}
}
return
sufId
;
}
public
Map
<
Integer
,
Trans
>
getTransMaps
()
{
...
...
dlink-core/src/main/java/com/dlink/utils/MapParseUtils.java
View file @
4bea4875
...
...
@@ -115,6 +115,11 @@ public class MapParseUtils {
}
Deque
<
Integer
>
stack
=
new
LinkedList
<>();
for
(
int
i
=
0
;
i
<
inStr
.
length
();
i
++)
{
if
(
inStr
.
charAt
(
i
)
==
']'
&&
stack
.
size
()
==
0
)
{
selects
.
add
(
inStr
.
substring
(
startIndex
,
i
));
startIndex
=
i
+
1
;
return
selects
;
}
if
(
inStr
.
charAt
(
i
)
==
','
&&
stack
.
size
()
==
0
)
{
selects
.
add
(
inStr
.
substring
(
startIndex
,
i
));
startIndex
=
i
+
1
;
...
...
dlink-core/src/test/java/com/dlink/core/LineageTest.java
View file @
4bea4875
...
...
@@ -28,7 +28,7 @@ public class LineageTest {
") WITH (\n"
+
" 'connector' = 'print'\n"
+
");\n"
+
"insert into TT select a||c A ,b B from ST"
;
"insert into TT select a||c A ,b
||c
B from ST"
;
LineageResult
result
=
LineageBuilder
.
getLineage
(
sql
);
System
.
out
.
println
(
"end"
);
}
...
...
dlink-executor/src/main/java/com/dlink/executor/Executor.java
View file @
4bea4875
...
...
@@ -127,9 +127,9 @@ public abstract class Executor {
}
public
void
initEnvironment
()
{
if
(
executorSetting
.
getCheckpoint
()
!=
null
&&
executorSetting
.
getCheckpoint
()
>
0
)
{
/*
if (executorSetting.getCheckpoint() != null && executorSetting.getCheckpoint() > 0) {
environment.enableCheckpointing(executorSetting.getCheckpoint());
}
}
*/
if
(
executorSetting
.
getParallelism
()
!=
null
&&
executorSetting
.
getParallelism
()
>
0
)
{
environment
.
setParallelism
(
executorSetting
.
getParallelism
());
}
...
...
@@ -140,9 +140,9 @@ public abstract class Executor {
}
public
void
updateEnvironment
(
ExecutorSetting
executorSetting
)
{
if
(
executorSetting
.
getCheckpoint
()
!=
null
&&
executorSetting
.
getCheckpoint
()
>
0
)
{
/*
if (executorSetting.getCheckpoint() != null && executorSetting.getCheckpoint() > 0) {
environment.enableCheckpointing(executorSetting.getCheckpoint());
}
}
*/
if
(
executorSetting
.
getParallelism
()
!=
null
&&
executorSetting
.
getParallelism
()
>
0
)
{
environment
.
setParallelism
(
executorSetting
.
getParallelism
());
}
...
...
dlink-web/src/pages/Welcome.tsx
View file @
4bea4875
...
...
@@ -770,6 +770,9 @@ export default (): React.ReactNode => {
<
li
>
<
Link
>
优化 Studio血缘分析为字段级
</
Link
>
</
li
>
<
li
>
<
Link
>
新增 Hive 数据源注册、元数据、查询和执行
</
Link
>
</
li
>
</
ul
>
</
Paragraph
>
</
Timeline
.
Item
>
...
...
docs/zh-CN/_sidebar.md
View file @
4bea4875
...
...
@@ -13,32 +13,37 @@
-
参考手册
-
FlinkSQL Studio
-
[
Studio介绍
](
/zh-CN/administrator-guide/Studio/studio_introduce.md
)
-
作业
和目录创建
-
作业
管理
-
作业开发
-
作业配置
-
作业管理
-
会话管理
-
作业提交
-
注册中心
-
集群实例
-
集群配置
-
[
集群管理
](
/zh-CN/administrator-guide/registerCenter/cluster_manage.md
)
-
[
数据源管理
](
/zh-CN/administrator-guide/registerCenter/datasource_manage.md
)
-
[
告警管理
](
/zh-CN/administrator-guide/registerCenter/warning.md
)
-
jar管理
-
[
jar管理
](
/zh-CN/administrator-guide/registerCenter/jar_manager.md
)
-
文档管理
-
元数据管理
-
[
元数据管理
](
/zh-CN/administrator-guide/metadata.md
)
-
[
快速使用快捷键
](
/zh-CN/administrator-guide/Hotkey.md
)
-
系统设置
-
用户管理
-
Flink设置
-
[
用户管理
](
/zh-CN/administrator-guide/system_setting/user_management.md
)
-
[
Flink设置
](
/zh-CN/administrator-guide/system_setting/Flink_Setting.md
)
-
运维中心
-
生命周期管理
-
作业监控
-
openapi
-
扩展
-
集成
-
其他
-
[
扩展Flink版本
](
/zh-CN/extend/flinkversion.md
)
-
[
扩展连接器
](
/zh-CN/extend/connector.md
)
-
[
扩展数据源
](
/zh-CN/extend/datasource.md
)
-
[
FlinkSQL 编辑器自动补全函数
](
/zh-CN/extend/completion.md
)
-
最佳实践
-
[
Yarn提交实践指南
](
/zh-CN/practice/yarnsubmit.md
)
-
[
Dlink 核心概念及实现原理详解
](
/zh-CN/practice/principle.md
)
-
[
AGGTABLE 表值聚合的实践
](
/zh-CN/practice/aggtable.md
)
-
扩展
-
集成
-
集成指南
-
[
Flink-CDC集成
](
/zh-CN/extend/flinkcdc.md
)
-
[
Flink-CDC-Kafka多源合并
](
/zh-CN/extend/Flink_CDC_kafka_Multi_source_merger.md
)
-
[
hive集成
](
/zh-CN/extend/hive.md
)
...
...
@@ -49,12 +54,10 @@
-
[
Flink UDF集成
](
/zh-CN/extend/udf.md
)
-
[
DolphinScheduler集成
](
/zh-CN/extend/dolphinscheduler.md
)
-
[
DataSphereStudio集成
](
/zh-CN/extend/dataspherestudio.md
)
-
其他
-
[
扩展Flink版本
](
/zh-CN/extend/flinkversion.md
)
-
[
扩展连接器
](
/zh-CN/extend/connector.md
)
-
[
扩展数据源
](
/zh-CN/extend/datasource.md
)
-
[
FlinkSQL 编辑器自动补全函数
](
/zh-CN/extend/completion.md
)
-
开发者指南
-
[
如何贡献
](
/zh-CN/developer-guide/how_contribute.md
)
-
[
本地调试
](
/zh-CN/developer-guide/local_debug.md
)
-
[
远程调试
](
/zh-CN/developer-guide/remote_debug.md
)
-
常见问题
-
[
致谢
](
/zh-CN/others/thanks.md
)
-
[
交流与贡献
](
/zh-CN/others/comminicate.md
)
...
...
docs/zh-CN/administrator-guide/Hotkey.md
0 → 100644
View file @
4bea4875
保存
```
Ctrl + s
```
校验
```
Alt + 2
```
美化
```
Alt + 3
```
搜索
```
Ctrl + F
```
替换
```
Ctrl + H
```
撤销
```
Ctrl + Z
```
重做
```
Ctrl + Y
```
注释
```
Ctrl + /
```
缩进
```
选中 + Tab
```
取消缩进
```
选中 + Shift + Tab
```
选中后续
```
Shift + Alt + Right
```
格式化
```
Shift + Alt + F
```
编辑多行
```
Ctrl + Shift + Up/Down
```
复制一行
```
Shift + Alt + Up/Down
```
删除一行
```
Ctrl + Shift + K
```
匹配下一个
```
Ctrl + F3
```
匹配上一个
```
Ctrl + Shift + F3
```
前往下一个高亮
```
F7
```
前往上一个高亮
```
Shift +F7
```
前面追加换行
```
Ctrl + Shift + End
```
追加换行
```
Ctrl + End
```
上下换位
```
Alt + Up/Down
```
折叠/展开
```
Ctrl + Shift + [/]
```
全屏
```
F2
```
关闭弹框及全屏
```
Esc
```
更多快捷键
```
F1
```
docs/zh-CN/administrator-guide/metadata.md
0 → 100644
View file @
4bea4875
当用户查看或者使用数据源中的DDL或者DML,可通过元数据中心获取数据源中的相关DDL或者DML。目前元数据中心包含:
-
**表信息**
-
**字段信息**
-
**SQL生成**
其中在SQL生成中又包括:
-
**FlinkDDL语句**
-
**SELECT语句**
-
**SQLDDL语句**
首先进入FlinkSQL Studio中的元数据,选择已经配置好的数据源,会出现数据源对应的schema。



出现以上schema后,查看schema下的表,右键单击schema下的表即可看到表信息,字段信息及SQL生成。



如何配置数据源请参考
[
数据源管理
](
/zh-CN/administrator-guide/registerCenter/datasource_manage.md
)
。
docs/zh-CN/administrator-guide/registerCenter/cluster_manage.md
0 → 100644
View file @
4bea4875
当用户提交FlinkSQL作业时,首先要保证安装了Flink集群。Flink当前支持的集群模式包括:
-
StandAlone集群
-
Yarn集群
-
Kubernetes集群
对于以上的三种集群而言,Dinky为用户提供了两种集群管理方式,一种是集群实例管理,一种是集群配置管理。
**需要说明的是:**
-
StandAlone集群适用于既可以做为查询使用,又可以将作业异步提交到远程集群
-
Yarn Session和Kubernetes Session适用于既可以做为查询使用,又可以将作业异步提交到远程集群
-
Yarn Perjob,Yarn Application和Kubernetes Application适用于异步提交
## 集群实例管理
集群实例管理适用于StandAlone,Yarn Session和Kubernetes Session这三种类型配置。
### 集群配置
首先进入注册中心的集群管理中的集群实例管理,新建一个集群实例,点击新建,添加Flink集群,参数配置完成后,点击提交即可。



**参数配置说明:**
-
**名称:**
自定义(必填)
-
**别名:**
自定义
-
**类型:**
支持StandAlone,Yarn Session和Kubernetes Session三种类型
-
**JobManager HA地址:**
JobManager的RestAPI地址,当有多个RestAPI地址时。采用英文逗号隔开
-
**注释:**
自定义
当集群实例配置完成后,点击心跳,会出现检测心跳

点击回收,会将过去的集群实例进行回收

### 集群实例编辑
当集群配置完成后,用户可以对集群实例做编辑修改。
首先进入注册中心集群实例管理,在列表中找到对应的集群实例,点击"编辑"后,编辑集群


### 集群实例删除
用户可以对所添加的集群实例进行删除。
首先进入注册中心中的集群实例管理,在列表中找到对应的集群实例,点击"删除"后,删除集群!


### 搜索
当用户集群实例配置完成后,配置的信息会显示在列表中,用户可以通过名称,别名,创建时间对配置的作业进行查找。

## 集群配置管理
集群配置管理适用于Yarn Perjob,Yarn Application和Kubernetes Application这三种类型配置。
### 集群配置
首先进入注册中心的集群管理中的集群配置管理,点击"新建"后,可以创建集群配置,参数配置完成后,点击"测试"及"完成"即可。


**参数配置说明:**
-
**类型:**
支持Flink on Yarn和Flink on Kubernetes
-
**hadoop配置**
-
**配置文件路径:**
hadoop配置文件路径,指定配置文件路径(末尾无/),需要包含以下文件:core-site.xml,hdfs-site.xml,yarn-site.xml
-
**自定义配置(高优先级)**
-
**ha.zookeeper.quorum:**
zookeeper访问地址
-
**其他配置:**
zookeeper的参数配置(默认不填写)
-
**Flink配置**
-
**lib 路径:**
指定 lib 的 hdfs 路径(末尾无/),需要包含 Flink 运行时的依赖
-
**配置文件路径:**
指定 flink-conf.yaml 的具体路径(末尾无/),必填
-
**自定义配置(高优先级):**
Flink参数配置
-
**基本配置**
-
**标识:**
唯一英文标识(必填)
-
**名称:**
自定义
-
**注释:**
自定义
-
**是否启用:**
默认禁用,需要开启
参数配置完成后,点击"测试",会显示测试连接成功。

待测试连接成功后,选择完成即可。至此集群配置成功,可连接远程集群进行作业提交。
### 集群编辑
当集群配置完成后,用户可以对集群配置做编辑修改。
首先进入注册中心集群配置管理,在列表中找到对应的集群名称,点击"编辑"后,维护集群配置


### 集群删除
用户可以对所添加的集群配置进行删除。
首先进入注册中心中的集群配置管理,,在列表中找到对应的集群,点击"删除"后,删除集群


### 搜索
当用户集群配置完成后,配置的信息会显示在列表中,用户可以通过名称,别名,创建时间对配置的作业进行查找。

**说明:**
当集群配置的作业异步提交成功,可以看到所作业提交后的实例,并如果集群实例一样,可以对所在的集群实例进行回收,删除,编辑等操作。集群实例的操作步骤请查看集群实例管理部分。
docs/zh-CN/administrator-guide/registerCenter/datasource_manage.md
View file @
4bea4875
...
...
@@ -16,7 +16,7 @@
**Flink连接配置:**
避免私密信息泄露,同时复用连接配置,在FlinkSQL中可使用${名称}来加载连接配置,如${ods},说明:名称指的是英文唯一标识,即如图所示的名称。注意需要开启全局变量(原片段机制);
**Flink连接模板:**
Flink连接模板作用是为生成FlinkSQL DDL而扩展的功能。其中${schemaName}动态获取数据库,${tableName}动态获取表名称。
其他参数可根据需求添加
;
**Flink连接模板:**
Flink连接模板作用是为生成FlinkSQL DDL而扩展的功能。其中${schemaName}动态获取数据库,${tableName}动态获取表名称。
更多参数请参考
[
Flink官网
](
https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/overview/
)
;
**注释:**
自定义;
...
...
docs/zh-CN/administrator-guide/registerCenter/jar_manager.md
0 → 100644
View file @
4bea4875
当用户使用jar包提交Flink应用时,可以在jar包管理中对所需程序进行管理。
## Jar包配置
首先进入注册中心的jar管理,点击“新建”,进入创建Jar配置界面。


**参数配置说明:**
-
**Jar配置:**
-
默认:
**
User App
-
**文件路径:**
指定HDFS上的文件路径,即Flink提交的jar包程序
-
**启动类:**
指定可执行 Jar 的启动类,(可选)
-
**执行参数:**
指定可执行 Jar 的启动类入参,(可选)
-
**基本配置:**
-
**标识:**
英文唯一标识(必选)
-
**名称:**
自定义
-
**注释:**
自定义
-
**是否启用:**
默认启用
Jar包配置完成后,就可以正常提交运行。
如果可行性jar包出错,用户可以对其进行编辑修改。
## Jar包编辑
用户可以对所添加的可执行Jar包配置做编辑修改。
首先进入注册中心的jar包管理中,点击编辑,即可对可执行Jar配置进行修改。


## Jar删除
用户可以对所添加的可执行Jar包配置做删除。
首先进入注册中心的jar包管理中,点击删除,即可对可执行Jar配置进行删除。


**说明:**
目前jar包提交的方式还尚在开发阶段,不适合在生产使用。用户只能跑一些demo
\ No newline at end of file
docs/zh-CN/extend/datasource.md
View file @
4bea4875
...
...
@@ -7,5 +7,6 @@
-
Phoenix
-
Doris(Starrocks)
-
ClickHouse
-
Hive
使用以上数据源,请查阅注册中心
[
数据源管理
](
/zh-CN/administrator-guide/registerCenter/datasource_manage.md
)
,配置数据源连接
\ No newline at end of file
docs/zh-CN/practice/yarnsubmit.md
View file @
4bea4875
## Yarn-Session 实践
### 注册 Session 集群
## Yarn-Session 实践
### 注册 Session 集群

...
...
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