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
6860ab21
Commit
6860ab21
authored
Mar 17, 2022
by
zhu-mingye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增扩展Hive元数据
parent
f9ae43cc
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
714 additions
and
9 deletions
+714
-9
package.xml
dlink-assembly/src/main/assembly/package.xml
+9
-1
Table.java
dlink-common/src/main/java/com/dlink/model/Table.java
+2
-2
pom.xml
dlink-core/pom.xml
+5
-0
Dialect.java
dlink-core/src/main/java/com/dlink/config/Dialect.java
+2
-2
pom.xml
dlink-metadata/dlink-metadata-hive/pom.xml
+82
-0
HiveConstant.java
...c/main/java/com/dlink/metadata/constant/HiveConstant.java
+33
-0
HiveTypeConvert.java
...main/java/com/dlink/metadata/convert/HiveTypeConvert.java
+97
-0
HiveDriver.java
...e/src/main/java/com/dlink/metadata/driver/HiveDriver.java
+250
-0
HiveQuery.java
...ive/src/main/java/com/dlink/metadata/query/HiveQuery.java
+59
-0
com.dlink.metadata.driver.Driver
...ources/META-INF/services/com.dlink.metadata.driver.Driver
+1
-0
HiveTest.java
...adata-hive/src/test/java/com/dlink/metadata/HiveTest.java
+108
-0
pom.xml
dlink-metadata/pom.xml
+1
-0
hive.png
dlink-web/public/database/hive.png
+0
-0
SimpleTaskForm.tsx
...omponents/Studio/StudioTree/components/SimpleTaskForm.tsx
+3
-2
conf.ts
dlink-web/src/components/Studio/conf.ts
+4
-0
icon.tsx
dlink-web/src/components/Studio/icon.tsx
+46
-1
DB.ts
dlink-web/src/pages/DataBase/DB.ts
+3
-0
DBForm.tsx
dlink-web/src/pages/DataBase/components/DBForm.tsx
+4
-1
pom.xml
pom.xml
+5
-0
No files found.
dlink-assembly/src/main/assembly/package.xml
View file @
6860ab21
...
@@ -132,7 +132,15 @@
...
@@ -132,7 +132,15 @@
<include>
dlink-metadata-postgresql-${project.version}.jar
</include>
<include>
dlink-metadata-postgresql-${project.version}.jar
</include>
</includes>
</includes>
</fileSet>
</fileSet>
<!-- 将模块dlink-metadata的jar文件放到打包目录/lib下 -->
<fileSet>
<directory>
${project.parent.basedir}/dlink-metadata/dlink-metadata-hive/target
</directory>
<outputDirectory>
lib
</outputDirectory>
<includes>
<include>
dlink-metadata-hive-${project.version}.jar
</include>
</includes>
</fileSet>
<fileSet>
<fileSet>
<directory>
${project.parent.basedir}/dlink-metadata/dlink-metadata-sqlserver/target
<directory>
${project.parent.basedir}/dlink-metadata/dlink-metadata-sqlserver/target
</directory>
</directory>
...
...
dlink-common/src/main/java/com/dlink/model/Table.java
View file @
6860ab21
...
@@ -140,9 +140,9 @@ public class Table implements Serializable, Comparable<Table> {
...
@@ -140,9 +140,9 @@ public class Table implements Serializable, Comparable<Table> {
}
}
}
}
if
(
Asserts
.
isNotNullString
(
comment
)){
if
(
Asserts
.
isNotNullString
(
comment
)){
sb
.
append
(
" FROM "
+
catalogName
+
"."
+
schema
+
"."
+
name
+
";"
+
" -- "
+
comment
+
"\n"
);
sb
.
append
(
" FROM "
+
schema
+
"."
+
name
+
";"
+
" -- "
+
comment
+
"\n"
);
}
else
{
}
else
{
sb
.
append
(
" FROM "
+
catalogName
+
"."
+
schema
+
"."
+
name
+
";\n"
);
sb
.
append
(
" FROM "
+
schema
+
"."
+
name
+
";\n"
);
}
}
return
sb
.
toString
();
return
sb
.
toString
();
}
}
...
...
dlink-core/pom.xml
View file @
6860ab21
...
@@ -105,6 +105,11 @@
...
@@ -105,6 +105,11 @@
<artifactId>
dlink-metadata-doris
</artifactId>
<artifactId>
dlink-metadata-doris
</artifactId>
<scope>
${scope.runtime}
</scope>
<scope>
${scope.runtime}
</scope>
</dependency>
</dependency>
<dependency>
<groupId>
com.dlink
</groupId>
<artifactId>
dlink-metadata-hive
</artifactId>
<scope>
${scope.runtime}
</scope>
</dependency>
<dependency>
<dependency>
<groupId>
com.dlink
</groupId>
<groupId>
com.dlink
</groupId>
<artifactId>
dlink-metadata-postgresql
</artifactId>
<artifactId>
dlink-metadata-postgresql
</artifactId>
...
...
dlink-core/src/main/java/com/dlink/config/Dialect.java
View file @
6860ab21
...
@@ -12,7 +12,7 @@ public enum Dialect {
...
@@ -12,7 +12,7 @@ public enum Dialect {
FLINKSQL
(
"FlinkSql"
),
FLINKJAR
(
"FlinkJar"
),
FLINKSQLENV
(
"FlinkSqlEnv"
),
SQL
(
"Sql"
),
JAVA
(
"Java"
),
FLINKSQL
(
"FlinkSql"
),
FLINKJAR
(
"FlinkJar"
),
FLINKSQLENV
(
"FlinkSqlEnv"
),
SQL
(
"Sql"
),
JAVA
(
"Java"
),
MYSQL
(
"Mysql"
),
ORACLE
(
"Oracle"
),
SQLSERVER
(
"SqlServer"
),
POSTGRESQL
(
"PostGreSql"
),
CLICKHOUSE
(
"ClickHouse"
),
MYSQL
(
"Mysql"
),
ORACLE
(
"Oracle"
),
SQLSERVER
(
"SqlServer"
),
POSTGRESQL
(
"PostGreSql"
),
CLICKHOUSE
(
"ClickHouse"
),
DORIS
(
"Doris"
),
PHOENIX
(
"Phoenix"
);
DORIS
(
"Doris"
),
PHOENIX
(
"Phoenix"
)
,
HIVE
(
"Hive"
)
;
private
String
value
;
private
String
value
;
...
@@ -42,7 +42,7 @@ public enum Dialect {
...
@@ -42,7 +42,7 @@ public enum Dialect {
public
static
boolean
isSql
(
String
value
){
public
static
boolean
isSql
(
String
value
){
Dialect
dialect
=
Dialect
.
get
(
value
);
Dialect
dialect
=
Dialect
.
get
(
value
);
switch
(
dialect
){
switch
(
dialect
){
case
SQL:
case
MYSQL:
case
ORACLE:
case
SQLSERVER:
case
POSTGRESQL:
case
CLICKHOUSE:
case
DORIS:
case
PHOENIX:
case
SQL:
case
MYSQL:
case
ORACLE:
case
SQLSERVER:
case
POSTGRESQL:
case
CLICKHOUSE:
case
DORIS:
case
PHOENIX:
case
HIVE:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
...
...
dlink-metadata/dlink-metadata-hive/pom.xml
0 → 100644
View file @
6860ab21
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
dlink-metadata
</artifactId>
<groupId>
com.dlink
</groupId>
<version>
0.6.0-SNAPSHOT
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
dlink-metadata-hive
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
com.dlink
</groupId>
<artifactId>
dlink-metadata-base
</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.apache.hive</groupId>-->
<!-- <artifactId>hive-metastore</artifactId>-->
<!-- <version>2.1.1-cdh6.2.1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>commons-logging</groupId>-->
<!-- <artifactId>commons-logging</artifactId>-->
<!-- <version>1.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.hadoop</groupId>-->
<!-- <artifactId>hadoop-common</artifactId>-->
<!-- <version>3.0.0-cdh6.2.1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.hive</groupId>-->
<!-- <artifactId>hive-exec</artifactId>-->
<!-- <version>2.1.1-cdh6.2.1</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.thrift</groupId>-->
<!-- <artifactId>libfb303</artifactId>-->
<!-- <version>0.9.3</version>-->
<!-- </dependency>-->
<dependency>
<groupId>
org.slf4j
</groupId>
<artifactId>
slf4j-nop
</artifactId>
<version>
1.6.1
</version>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.4
</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>
cloudera
</id>
<url>
https://repository.cloudera.com/artifactory/cloudera-repos/
</url>
</repository>
</repositories>
</project>
\ No newline at end of file
dlink-metadata/dlink-metadata-hive/src/main/java/com/dlink/metadata/constant/HiveConstant.java
0 → 100644
View file @
6860ab21
package
com
.
dlink
.
metadata
.
constant
;
public
interface
HiveConstant
{
/**
* 查询所有database
*/
String
QUERY_ALL_DATABASE
=
" show databases"
;
/**
* 查询所有schema下的所有表
*/
String
QUERY_ALL_TABLES_BY_SCHEMA
=
"show tables"
;
/**
* 扩展信息Key
*/
String
DETAILED_TABLE_INFO
=
"Detailed Table Information"
;
/**
* 查询指定schema.table的扩展信息
*/
String
QUERY_TABLE_SCHEMA_EXTENED_INFOS
=
" describe extended `%s`.`%s`"
;
/**
* 查询指定schema.table的信息 列 列类型 列注释
*/
String
QUERY_TABLE_SCHEMA
=
" describe `%s`.`%s`"
;
/**
* 使用 DB
*/
String
USE_DB
=
"use `%s`"
;
/**
* 只查询指定schema.table的列名
*/
String
QUERY_TABLE_COLUMNS_ONLY
=
"show columns in `%s`.`%s`"
;
}
dlink-metadata/dlink-metadata-hive/src/main/java/com/dlink/metadata/convert/HiveTypeConvert.java
0 → 100644
View file @
6860ab21
package
com
.
dlink
.
metadata
.
convert
;
import
com.dlink.assertion.Asserts
;
import
com.dlink.model.Column
;
import
com.dlink.model.ColumnType
;
public
class
HiveTypeConvert
implements
ITypeConvert
{
@Override
public
ColumnType
convert
(
Column
column
)
{
if
(
Asserts
.
isNull
(
column
))
{
return
ColumnType
.
STRING
;
}
String
t
=
column
.
getType
().
toLowerCase
().
trim
();
if
(
t
.
contains
(
"char"
))
{
return
ColumnType
.
STRING
;
}
else
if
(
t
.
contains
(
"boolean"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_BOOLEAN
;
}
return
ColumnType
.
BOOLEAN
;
}
else
if
(
t
.
contains
(
"tinyint"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_BYTE
;
}
return
ColumnType
.
BYTE
;
}
else
if
(
t
.
contains
(
"smallint"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_SHORT
;
}
return
ColumnType
.
SHORT
;
}
else
if
(
t
.
contains
(
"bigint"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_LONG
;
}
return
ColumnType
.
LONG
;
}
else
if
(
t
.
contains
(
"largeint"
))
{
return
ColumnType
.
STRING
;
}
else
if
(
t
.
contains
(
"int"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
INTEGER
;
}
return
ColumnType
.
INT
;
}
else
if
(
t
.
contains
(
"float"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_FLOAT
;
}
return
ColumnType
.
FLOAT
;
}
else
if
(
t
.
contains
(
"double"
))
{
if
(
column
.
isNullable
())
{
return
ColumnType
.
JAVA_LANG_DOUBLE
;
}
return
ColumnType
.
DOUBLE
;
}
else
if
(
t
.
contains
(
"date"
))
{
return
ColumnType
.
STRING
;
}
else
if
(
t
.
contains
(
"datetime"
))
{
return
ColumnType
.
STRING
;
}
else
if
(
t
.
contains
(
"decimal"
))
{
return
ColumnType
.
DECIMAL
;
}
else
if
(
t
.
contains
(
"time"
))
{
return
ColumnType
.
DOUBLE
;
}
return
ColumnType
.
STRING
;
}
@Override
public
String
convertToDB
(
ColumnType
columnType
)
{
switch
(
columnType
)
{
case
STRING:
return
"varchar"
;
case
BOOLEAN:
case
JAVA_LANG_BOOLEAN:
return
"boolean"
;
case
BYTE:
case
JAVA_LANG_BYTE:
return
"tinyint"
;
case
SHORT:
case
JAVA_LANG_SHORT:
return
"smallint"
;
case
LONG:
case
JAVA_LANG_LONG:
return
"bigint"
;
case
FLOAT:
case
JAVA_LANG_FLOAT:
return
"float"
;
case
DOUBLE:
case
JAVA_LANG_DOUBLE:
return
"double"
;
case
DECIMAL:
return
"decimal"
;
case
INT:
case
INTEGER:
return
"int"
;
default
:
return
"varchar"
;
}
}
}
dlink-metadata/dlink-metadata-hive/src/main/java/com/dlink/metadata/driver/HiveDriver.java
0 → 100644
View file @
6860ab21
package
com
.
dlink
.
metadata
.
driver
;
import
com.dlink.assertion.Asserts
;
import
com.dlink.metadata.constant.HiveConstant
;
import
com.dlink.metadata.convert.HiveTypeConvert
;
import
com.dlink.metadata.convert.ITypeConvert
;
import
com.dlink.metadata.query.HiveQuery
;
import
com.dlink.metadata.query.IDBQuery
;
import
com.dlink.model.Column
;
import
com.dlink.model.Schema
;
import
com.dlink.model.Table
;
import
org.apache.commons.lang3.StringUtils
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.ResultSetMetaData
;
import
java.sql.SQLException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
HiveDriver
extends
AbstractJdbcDriver
implements
Driver
{
// @Override
// public Table getTable(String schemaName, String tableName) {
// List<Table> tables = listTables(schemaName);
// Table table = null;
// for(Table item : tables){
// if(Asserts.isEquals(item.getName(),tableName)){
// table = item;
// }
// }
// if(Asserts.isNotNull(table)) {
// List<Column> columnList = new ArrayList<>();// 接收排除 Detailed Table Information 之后的 Column对象
// List<Column> columnListWithExt = listColumns(schemaName, table.getName()); //获取所有的 Column对象
//
// Column columnExtInfoToTable = columnListWithExt.get(columnListWithExt.size() - 1); //获取 Detailed Table Information 下方解析该值 并赋值给Table的属性
// String extenedInfo = columnExtInfoToTable.getType(); //获取 Detailed Table Information 的值
// /**
// * 解析 Detailed Table Information 开始
// */
//
// System.out.println(extenedInfo);
//
// /**
// * 解析 Detailed Table Information 结束
// */
//
//
// for (int i = 0; i < columnListWithExt.size(); i++) {
// Column columnExt = columnListWithExt.get(i);
// if (!columnExt.getName().contains(HiveConstant.DETAILED_TABLE_INFO)){// 排除 Detailed Table Information
// Column columnBean = new Column();
// columnBean.setName(columnExt.getName());
// columnBean.setType(columnExt.getType());
// columnBean.setComment(columnExt.getComment());
// columnList.add(columnBean);
// }
// }
// table.setColumns(columnList);
// }
// return table;
// }
@Override
public
List
<
Table
>
listTables
(
String
schemaName
)
{
List
<
Table
>
tableList
=
new
ArrayList
<>();
PreparedStatement
preparedStatement
=
null
;
ResultSet
results
=
null
;
IDBQuery
dbQuery
=
getDBQuery
();
String
sql
=
dbQuery
.
tablesSql
(
schemaName
);
try
{
preparedStatement
=
conn
.
prepareStatement
(
sql
);
results
=
preparedStatement
.
executeQuery
();
ResultSetMetaData
metaData
=
results
.
getMetaData
();
List
<
String
>
columnList
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<=
metaData
.
getColumnCount
();
i
++)
{
columnList
.
add
(
metaData
.
getColumnLabel
(
i
));
}
while
(
results
.
next
())
{
String
tableName
=
results
.
getString
(
dbQuery
.
tableName
());
if
(
Asserts
.
isNotNullString
(
tableName
))
{
Table
tableInfo
=
new
Table
();
tableInfo
.
setName
(
tableName
);
if
(
columnList
.
contains
(
dbQuery
.
tableComment
()))
{
tableInfo
.
setComment
(
results
.
getString
(
dbQuery
.
tableComment
()));
}
tableInfo
.
setSchema
(
schemaName
);
if
(
columnList
.
contains
(
dbQuery
.
tableType
()))
{
tableInfo
.
setType
(
results
.
getString
(
dbQuery
.
tableType
()));
}
if
(
columnList
.
contains
(
dbQuery
.
catalogName
()))
{
tableInfo
.
setCatalog
(
results
.
getString
(
dbQuery
.
catalogName
()));
}
if
(
columnList
.
contains
(
dbQuery
.
engine
()))
{
tableInfo
.
setEngine
(
results
.
getString
(
dbQuery
.
engine
()));
}
tableList
.
add
(
tableInfo
);
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
close
(
preparedStatement
,
results
);
}
return
tableList
;
}
@Override
public
List
<
Schema
>
getSchemasAndTables
()
{
return
listSchemas
();
}
@Override
public
List
<
Schema
>
listSchemas
()
{
List
<
Schema
>
schemas
=
new
ArrayList
<>();
PreparedStatement
preparedStatement
=
null
;
ResultSet
results
=
null
;
String
schemasSql
=
getDBQuery
().
schemaAllSql
();
try
{
preparedStatement
=
conn
.
prepareStatement
(
schemasSql
);
results
=
preparedStatement
.
executeQuery
();
while
(
results
.
next
())
{
String
schemaName
=
results
.
getString
(
getDBQuery
().
schemaName
());
if
(
Asserts
.
isNotNullString
(
schemaName
))
{
Schema
schema
=
new
Schema
(
schemaName
);
if
(
execute
(
String
.
format
(
HiveConstant
.
USE_DB
,
schemaName
)))
{
schema
.
setTables
(
listTables
(
schema
.
getName
()));
}
schemas
.
add
(
schema
);
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
close
(
preparedStatement
,
results
);
}
return
schemas
;
}
@Override
public
List
<
Column
>
listColumns
(
String
schemaName
,
String
tableName
)
{
List
<
Column
>
columns
=
new
ArrayList
<>();
PreparedStatement
preparedStatement
=
null
;
ResultSet
results
=
null
;
IDBQuery
dbQuery
=
getDBQuery
();
String
tableFieldsSql
=
dbQuery
.
columnsSql
(
schemaName
,
tableName
);
try
{
preparedStatement
=
conn
.
prepareStatement
(
tableFieldsSql
);
results
=
preparedStatement
.
executeQuery
();
ResultSetMetaData
metaData
=
results
.
getMetaData
();
List
<
String
>
columnList
=
new
ArrayList
<>();
for
(
int
i
=
1
;
i
<=
metaData
.
getColumnCount
();
i
++)
{
columnList
.
add
(
metaData
.
getColumnLabel
(
i
));
}
Integer
positionId
=
1
;
while
(
results
.
next
())
{
Column
field
=
new
Column
();
if
(
StringUtils
.
isEmpty
(
results
.
getString
(
dbQuery
.
columnName
())))
{
break
;
}
else
{
if
(
columnList
.
contains
(
dbQuery
.
columnName
())){
String
columnName
=
results
.
getString
(
dbQuery
.
columnName
());
field
.
setName
(
columnName
);
}
if
(
columnList
.
contains
(
dbQuery
.
columnType
()))
{
field
.
setType
(
results
.
getString
(
dbQuery
.
columnType
()));
}
if
(
columnList
.
contains
(
dbQuery
.
columnComment
())
&&
Asserts
.
isNotNull
(
results
.
getString
(
dbQuery
.
columnComment
())))
{
String
columnComment
=
results
.
getString
(
dbQuery
.
columnComment
()).
replaceAll
(
"\"|'"
,
""
);
field
.
setComment
(
columnComment
);
}
field
.
setPosition
(
positionId
++);
field
.
setJavaType
(
getTypeConvert
().
convert
(
field
));
}
columns
.
add
(
field
);
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
close
(
preparedStatement
,
results
);
}
return
columns
;
}
@Override
public
String
getCreateTableSql
(
Table
table
)
{
StringBuilder
createTable
=
new
StringBuilder
();
PreparedStatement
preparedStatement
=
null
;
ResultSet
results
=
null
;
String
createTableSql
=
getDBQuery
().
createTableSql
(
table
.
getSchema
(),
table
.
getName
());
try
{
preparedStatement
=
conn
.
prepareStatement
(
createTableSql
);
results
=
preparedStatement
.
executeQuery
();
while
(
results
.
next
())
{
createTable
.
append
(
results
.
getString
(
getDBQuery
().
createTableName
())).
append
(
"\n"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
close
(
preparedStatement
,
results
);
}
return
createTable
.
toString
();
}
@Override
public
IDBQuery
getDBQuery
()
{
return
new
HiveQuery
();
}
@Override
public
ITypeConvert
getTypeConvert
()
{
return
new
HiveTypeConvert
();
}
@Override
String
getDriverClass
()
{
return
"org.apache.hive.jdbc.HiveDriver"
;
}
@Override
public
String
getType
()
{
return
"Hive"
;
}
@Override
public
String
getName
()
{
return
"Hive"
;
}
@Override
public
Map
<
String
,
String
>
getFlinkColumnTypeConversion
()
{
HashMap
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"BOOLEAN"
,
"BOOLEAN"
);
map
.
put
(
"TINYINT"
,
"TINYINT"
);
map
.
put
(
"SMALLINT"
,
"SMALLINT"
);
map
.
put
(
"INT"
,
"INT"
);
map
.
put
(
"VARCHAR"
,
"STRING"
);
map
.
put
(
"TEXY"
,
"STRING"
);
map
.
put
(
"INT"
,
"INT"
);
map
.
put
(
"DATETIME"
,
"TIMESTAMP"
);
return
map
;
}
}
dlink-metadata/dlink-metadata-hive/src/main/java/com/dlink/metadata/query/HiveQuery.java
0 → 100644
View file @
6860ab21
package
com
.
dlink
.
metadata
.
query
;
import
com.dlink.metadata.constant.HiveConstant
;
public
class
HiveQuery
extends
AbstractDBQuery
{
@Override
public
String
schemaAllSql
()
{
return
HiveConstant
.
QUERY_ALL_DATABASE
;
}
@Override
public
String
tablesSql
(
String
schemaName
)
{
return
HiveConstant
.
QUERY_ALL_TABLES_BY_SCHEMA
;
}
@Override
public
String
columnsSql
(
String
schemaName
,
String
tableName
)
{
return
String
.
format
(
HiveConstant
.
QUERY_TABLE_SCHEMA
,
schemaName
,
tableName
);
}
@Override
public
String
schemaName
()
{
return
"database_name"
;
}
@Override
public
String
createTableName
()
{
return
"createtab_stmt"
;
}
@Override
public
String
tableName
()
{
return
"tab_name"
;
}
@Override
public
String
tableComment
()
{
return
"comment"
;
}
@Override
public
String
columnName
()
{
return
"col_name"
;
}
@Override
public
String
columnType
()
{
return
"data_type"
;
}
@Override
public
String
columnComment
()
{
return
"comment"
;
}
}
dlink-metadata/dlink-metadata-hive/src/main/resources/META-INF/services/com.dlink.metadata.driver.Driver
0 → 100644
View file @
6860ab21
com.dlink.metadata.driver.HiveDriver
\ No newline at end of file
dlink-metadata/dlink-metadata-hive/src/test/java/com/dlink/metadata/HiveTest.java
0 → 100644
View file @
6860ab21
package
com
.
dlink
.
metadata
;
import
com.dlink.metadata.driver.Driver
;
import
com.dlink.metadata.driver.DriverConfig
;
import
com.dlink.model.Column
;
import
com.dlink.model.Schema
;
import
com.dlink.model.Table
;
import
org.junit.Test
;
import
java.util.List
;
/**
* MysqlTest
*
* @author wenmo
* @since 2021/7/20 15:32
**/
public
class
HiveTest
{
private
static
final
String
IP
=
"cdh1"
;
private
static
final
Integer
PORT
=
10000
;
private
static
final
String
hiveDB
=
"test"
;
private
static
final
String
username
=
"zhumingye"
;
private
static
final
String
passwd
=
"123456"
;
private
static
final
String
hive
=
"Hive"
;
private
static
String
url
=
"jdbc:hive2://"
+
IP
+
":"
+
PORT
+
"/"
+
hiveDB
;
public
Driver
getDriver
()
{
DriverConfig
config
=
new
DriverConfig
();
config
.
setType
(
hive
);
config
.
setName
(
hive
);
config
.
setIp
(
IP
);
config
.
setPort
(
PORT
);
config
.
setUsername
(
username
);
config
.
setPassword
(
passwd
);
config
.
setUrl
(
url
);
return
Driver
.
build
(
config
);
}
@Test
public
void
connectTest
()
{
DriverConfig
config
=
new
DriverConfig
();
config
.
setType
(
hive
);
config
.
setName
(
hive
);
config
.
setIp
(
IP
);
config
.
setPort
(
PORT
);
config
.
setUsername
(
username
);
config
.
setPassword
(
passwd
);
config
.
setUrl
(
url
);
String
test
=
Driver
.
build
(
config
).
test
();
System
.
out
.
println
(
test
);
System
.
err
.
println
(
"end..."
);
}
@Test
public
void
getDBSTest
()
{
Driver
driver
=
getDriver
();
List
<
Schema
>
schemasAndTables
=
driver
.
listSchemas
();
schemasAndTables
.
forEach
(
schema
->
{
System
.
out
.
println
(
schema
.
getName
()+
"\t\t"
+
schema
.
getTables
().
toString
());
});
System
.
err
.
println
(
"end..."
);
}
@Test
public
void
getTablesByDBTest
()
throws
Exception
{
Driver
driver
=
getDriver
();
driver
.
execute
(
"use odsp "
);
List
<
Table
>
tableList
=
driver
.
listTables
(
hiveDB
);
tableList
.
forEach
(
schema
->
{
System
.
out
.
println
(
schema
.
getName
());
});
System
.
err
.
println
(
"end..."
);
}
@Test
public
void
getColumnsByTableTest
()
{
Driver
driver
=
getDriver
();
List
<
Column
>
columns
=
driver
.
listColumns
(
hiveDB
,
"biz_college_planner_mysql_language_score_item"
);
for
(
Column
column
:
columns
)
{
System
.
out
.
println
(
column
.
getName
()+
" \t "
+
column
.
getType
()+
" \t "
+
column
.
getComment
());
}
System
.
err
.
println
(
"end..."
);
}
@Test
public
void
getCreateTableTest
()
throws
Exception
{
Driver
driver
=
getDriver
();
// JdbcSelectResult jdbcSelectResult = driver.executeSql("show create table odsp.biz_college_planner_mysql_language_score_item", 1);
Table
driverTable
=
driver
.
getTable
(
hiveDB
,
"biz_college_planner_mysql_language_score_item"
);
String
createTableSql
=
driver
.
getCreateTableSql
(
driverTable
);
System
.
out
.
println
(
createTableSql
);
System
.
err
.
println
(
"end..."
);
}
@Test
public
void
getTableExtenedInfoTest
()
throws
Exception
{
Driver
driver
=
getDriver
();
Table
driverTable
=
driver
.
getTable
(
hiveDB
,
"employees"
);
for
(
Column
column
:
driverTable
.
getColumns
())
{
System
.
out
.
println
(
column
.
getName
()+
"\t\t"
+
column
.
getType
()+
"\t\t"
+
column
.
getComment
());
}
}
}
dlink-metadata/pom.xml
View file @
6860ab21
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
<module>
dlink-metadata-sqlserver
</module>
<module>
dlink-metadata-sqlserver
</module>
<module>
dlink-metadata-doris
</module>
<module>
dlink-metadata-doris
</module>
<module>
dlink-metadata-phoenix
</module>
<module>
dlink-metadata-phoenix
</module>
<module>
dlink-metadata-hive
</module>
</modules>
</modules>
...
...
dlink-web/public/database/hive.png
0 → 100644
View file @
6860ab21
11.5 KB
dlink-web/src/components/Studio/StudioTree/components/SimpleTaskForm.tsx
View file @
6860ab21
import
React
,
{
use
Effect
,
use
State
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
import
{
Form
,
Button
,
Input
,
Modal
,
Select
}
from
'antd'
;
import
{
Button
,
Form
,
Input
,
Modal
,
Select
}
from
'antd'
;
import
type
{
TaskTableListItem
}
from
'../data.d'
;
import
type
{
TaskTableListItem
}
from
'../data.d'
;
import
{
DIALECT
}
from
"@/components/Studio/conf"
;
import
{
DIALECT
}
from
"@/components/Studio/conf"
;
...
@@ -60,6 +60,7 @@ const SimpleTaskForm: React.FC<UpdateFormProps> = (props) => {
...
@@ -60,6 +60,7 @@ const SimpleTaskForm: React.FC<UpdateFormProps> = (props) => {
<
Option
value=
{
DIALECT
.
POSTGRESQL
}
>
{
DIALECT
.
POSTGRESQL
}
</
Option
>
<
Option
value=
{
DIALECT
.
POSTGRESQL
}
>
{
DIALECT
.
POSTGRESQL
}
</
Option
>
<
Option
value=
{
DIALECT
.
CLICKHOUSE
}
>
{
DIALECT
.
CLICKHOUSE
}
</
Option
>
<
Option
value=
{
DIALECT
.
CLICKHOUSE
}
>
{
DIALECT
.
CLICKHOUSE
}
</
Option
>
<
Option
value=
{
DIALECT
.
DORIS
}
>
{
DIALECT
.
DORIS
}
</
Option
>
<
Option
value=
{
DIALECT
.
DORIS
}
>
{
DIALECT
.
DORIS
}
</
Option
>
<
Option
value=
{
DIALECT
.
HIVE
}
>
{
DIALECT
.
HIVE
}
</
Option
>
<
Option
value=
{
DIALECT
.
PHOENIX
}
>
{
DIALECT
.
PHOENIX
}
</
Option
>
<
Option
value=
{
DIALECT
.
PHOENIX
}
>
{
DIALECT
.
PHOENIX
}
</
Option
>
<
Option
value=
{
DIALECT
.
JAVA
}
>
{
DIALECT
.
JAVA
}
</
Option
>
<
Option
value=
{
DIALECT
.
JAVA
}
>
{
DIALECT
.
JAVA
}
</
Option
>
<
Option
value=
{
DIALECT
.
SQL
}
>
{
DIALECT
.
SQL
}
</
Option
>
<
Option
value=
{
DIALECT
.
SQL
}
>
{
DIALECT
.
SQL
}
</
Option
>
...
...
dlink-web/src/components/Studio/conf.ts
View file @
6860ab21
...
@@ -19,6 +19,7 @@ export const DIALECT = {
...
@@ -19,6 +19,7 @@ export const DIALECT = {
POSTGRESQL
:
'PostGreSql'
,
POSTGRESQL
:
'PostGreSql'
,
CLICKHOUSE
:
'ClickHouse'
,
CLICKHOUSE
:
'ClickHouse'
,
DORIS
:
'Doris'
,
DORIS
:
'Doris'
,
HIVE
:
'Hive'
,
PHOENIX
:
'Phoenix'
,
PHOENIX
:
'Phoenix'
,
JAVA
:
'Java'
,
JAVA
:
'Java'
,
};
};
...
@@ -39,6 +40,7 @@ export const isSql = (dialect: string) => {
...
@@ -39,6 +40,7 @@ export const isSql = (dialect: string) => {
case
DIALECT
.
CLICKHOUSE
:
case
DIALECT
.
CLICKHOUSE
:
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
DORIS
:
case
DIALECT
.
DORIS
:
case
DIALECT
.
HIVE
:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
...
@@ -59,6 +61,7 @@ export const isExecuteSql = (dialect: string) => {
...
@@ -59,6 +61,7 @@ export const isExecuteSql = (dialect: string) => {
case
DIALECT
.
DORIS
:
case
DIALECT
.
DORIS
:
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
FLINKSQL
:
case
DIALECT
.
FLINKSQL
:
case
DIALECT
.
HIVE
:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
...
@@ -80,6 +83,7 @@ export const isTask = (dialect: string) => {
...
@@ -80,6 +83,7 @@ export const isTask = (dialect: string) => {
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
FLINKSQL
:
case
DIALECT
.
FLINKSQL
:
case
DIALECT
.
FLINKJAR
:
case
DIALECT
.
FLINKJAR
:
case
DIALECT
.
HIVE
:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
...
...
dlink-web/src/components/Studio/icon.tsx
View file @
6860ab21
...
@@ -21,6 +21,8 @@ export const getIcon = (type: string)=>{
...
@@ -21,6 +21,8 @@ export const getIcon = (type: string)=>{
return
(<
Icon
component=
{
ClickHouseSvg
}
/>);
return
(<
Icon
component=
{
ClickHouseSvg
}
/>);
case
DIALECT
.
DORIS
:
case
DIALECT
.
DORIS
:
return
(<
Icon
component=
{
DorisSvg
}
/>);
return
(<
Icon
component=
{
DorisSvg
}
/>);
case
DIALECT
.
HIVE
:
return
(<
Icon
component=
{
HiveSvg
}
/>);
case
DIALECT
.
PHOENIX
:
case
DIALECT
.
PHOENIX
:
return
(<
Icon
component=
{
PhoenixSvg
}
/>);
return
(<
Icon
component=
{
PhoenixSvg
}
/>);
case
DIALECT
.
JAVA
:
case
DIALECT
.
JAVA
:
...
@@ -281,7 +283,50 @@ export const DorisSvg = () => (
...
@@ -281,7 +283,50 @@ export const DorisSvg = () => (
d=
"M177.1648 246.144l249.5168 249.5168a25.6 25.6 0 0 1 0 36.2048l-249.5168 249.5168A28.8 28.8 0 0 1 128 761.0176V266.5088a28.8 28.8 0 0 1 49.1648-20.3648z"
d=
"M177.1648 246.144l249.5168 249.5168a25.6 25.6 0 0 1 0 36.2048l-249.5168 249.5168A28.8 28.8 0 0 1 128 761.0176V266.5088a28.8 28.8 0 0 1 49.1648-20.3648z"
fill=
"#5168AC"
p
-
id=
"13681"
></
path
>
fill=
"#5168AC"
p
-
id=
"13681"
></
path
>
</
svg
>
</
svg
>
);
export
const
JavaSvg
=
()
=>
(
);
export
const
HiveSvg
=
()
=>
(
<
svg
t=
"1647425762735"
className=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p
-
id=
"3247"
width=
{
svgSize
}
height=
{
svgSize
}
>
<
path
d=
"M608.6656 764.3136V954.368h46.42133333v-87.38133333h9.8304v87.38133333h46.96746667v-190.0544H664.91733333v70.4512h-9.8304v-70.4512h-46.42133333z m161.65546667 0H724.992V954.368h45.32906667v-190.0544z m7.09973333 0l36.0448 190.0544h54.0672l36.0448-190.0544h-48.05973333l-12.01493334 81.37386667c-1.09226667 3.2768-4.36906667 3.2768-4.9152 0l-12.01493333-81.37386667h-49.152z m226.0992 0h-90.112V954.368H1003.52v-49.69813333l-50.24426667-0.54613334v-21.2992h24.02986667v-49.69813333h-24.02986667v-19.11466667h50.24426667v-49.69813333z"
p
-
id=
"3248"
></
path
>
<
path
d=
"M516.36906667 187.5968c-7.64586667-20.75306667-269.24373333-122.33386667-272.52053334-111.4112-48.05973333 12.56106667-67.72053333 67.72053333-100.48853333 102.67306667l-73.18186667-4.36906667c-32.22186667 41.50613333-49.152 84.10453333-37.6832 127.7952C74.00106667 359.08266667 122.0608 407.1424 151.552 477.5936c2.18453333 33.31413333 143.63306667 3.2768 174.21653333-3.2768-41.50613333 29.4912-77.55093333 75.3664-61.71306666 208.0768 14.19946667 62.2592 24.02986667 131.61813333 149.0944 201.5232 16.384 9.28426667 50.7904 20.20693333 71.54346666 27.8528 20.20693333 9.28426667 43.69066667 13.1072 110.31893334-7.09973333 38.77546667-16.384 80.2816-26.76053333 117.9648-43.14453334l-45.32906667 2.18453334c-62.2592 1.09226667-110.86506667 6.00746667-125.61066667-11.4688L484.69333333 752.29866667l33.31413334-64.98986667c46.42133333 4.9152 61.71306667 42.5984 102.67306666 56.79786667l48.05973334-35.49866667c139.81013333 82.46613333 195.51573333-52.4288 211.3536-157.2864-1.6384-42.5984-92.84266667 13.65333333-86.8352-6.5536 2.18453333-45.8752-35.49866667-105.94986667-59.52853334-152.91733333l27.8528-108.68053334c12.56106667-11.4688-58.9824-132.16426667-117.41866666-146.90986666-50.7904-13.65333333-127.7952 51.33653333-127.7952 51.33653333z"
fill=
"#FDEE21"
p
-
id=
"3249"
></
path
>
<
path
d=
"M746.2912 418.06506667c0.54613333 11.4688 0.54613333 25.66826667 1.6384 34.4064 0 6.5536-5.46133333 7.09973333-9.28426667 8.192l27.30666667 9.8304c5.46133333 9.28426667 9.8304 18.0224 14.19946667 27.30666666 4.9152 22.39146667 1.09226667 22.9376-2.18453334 24.576-9.8304 0-19.6608 0-28.94506666-1.6384 4.36906667 2.18453333 4.9152 3.82293333 5.46133333 6.5536 0.54613333 4.9152-2.73066667 12.01493333-8.192 19.11466667 8.192 4.36906667 22.9376 8.73813333 33.86026667 13.1072l12.56106666-27.8528c-6.00746667-40.41386667-22.9376-77.55093333-46.42133333-113.59573333z m50.7904 136.53333333c15.29173333 6.5536 36.0448 4.36906667 64.98986667-10.37653333 4.36906667-3.2768 8.192-1.09226667 0.54613333 3.82293333-38.22933333 33.86026667-56.25173333 16.93013333-65.536 6.5536z"
fill=
"#C8C037"
p
-
id=
"3250"
></
path
>
<
path
d=
"M864.80213333 539.8528c4.36906667 8.73813333 1.6384 15.29173333 0 22.9376-4.9152 37.13706667-16.384 66.08213333-38.77546666 96.6656-73.18186667 117.9648-147.456 44.2368-206.4384-3.82293333l-24.576 61.16693333c-1.09226667 5.46133333-6.5536 9.28426667 31.67573333 26.2144l38.77546667-27.30666667c148.54826667 112.50346667 253.40586667-158.37866667 199.33866666-175.85493333zM637.61066667 645.25653333c-9.8304 0.54613333-39.86773333 10.92266667-40.96 16.93013334l13.65333333-20.20693334 27.30666667 3.2768z m-19.6608-125.06453333c1.6384 0 10.37653333 2.18453333 9.8304 1.6384-1.09226667-0.54613333 0 12.56106667 2.73066666 19.11466667l-10.92266666 23.48373333c20.75306667-23.48373333 52.97493333-22.39146667 83.01226666-25.12213333l-14.19946666-8.73813334c2.73066667-8.192-0.54613333-14.7456-1.6384-21.84533333l-68.8128 11.4688z m50.7904-70.4512c-21.84533333 6.5536-43.14453333 18.0224-57.344 41.50613333 10.92266667-38.77546667 13.1072-37.13706667 16.384-39.3216 15.29173333-7.09973333 27.8528-2.73066667 40.96-2.18453333z"
fill=
"#C8C037"
p
-
id=
"3251"
></
path
>
<
path
d=
"M550.77546667 904.66986667c-26.76053333 29.4912-86.28906667-2.18453333-135.44106667-18.56853334-125.61066667-79.73546667-150.18666667-155.10186667-151.82506667-228.82986666-6.5536-105.94986667 26.2144-167.1168 67.1744-181.8624-27.30666667 52.4288-39.86773333 146.36373333-27.30666666 216.2688 10.37653333 38.77546667 10.37653333 104.31146667 75.3664 139.81013333 31.67573333 18.0224 23.48373333 31.67573333 44.78293333 48.60586667 23.48373333 18.56853333 89.56586667 36.0448 127.24906667 24.576z m39.86773333-488.2432c-45.32906667-63.8976-108.68053333-87.92746667-180.224-90.65813334 14.19946667-4.9152 28.94506667-7.09973333 43.14453333-14.19946666 3.2768-3.82293333 2.18453333-10.37653333 1.09226667-16.93013334-68.8128-18.0224-112.50346667-40.41386667-167.66293333-61.16693333L435.54133333 269.5168c100.48853333 3.82293333 91.7504 28.94506667 155.10186667 146.90986667z"
fill=
"#FCF6A0"
p
-
id=
"3252"
></
path
>
<
path
d=
"M639.24906667 385.29706667c-33.31413333-47.5136-65.536-105.40373333-109.7728-142.5408C423.5264 195.24266667 318.12266667 159.744 195.24266667 127.52213333l39.3216-50.24426666C365.09013333 107.3152 487.424 157.01333333 597.1968 238.93333333c19.11466667 46.96746667 31.1296 93.93493333 42.05226667 146.36373334z m67.1744-84.10453334s-18.56853333-42.05226667-27.8528-57.89013333c-21.2992-23.48373333-31.67573333-67.1744-75.3664-87.92746667 13.65333333 3.82293333 22.9376-0.54613333 50.7904 24.576l44.2368 83.5584 8.192 37.6832z"
fill=
"#FCF6A0"
p
-
id=
"3253"
></
path
>
<
path
d=
"M729.9072 373.82826667c4.36906667-36.59093333 12.56106667-94.48106667 3.2768-117.9648-26.2144-34.95253333-52.4288-71.54346667-78.6432-104.8576-4.36906667-3.82293333-7.64586667-9.8304-10.92266667-13.65333334 37.13706667 9.8304 75.91253333 35.49866667 127.7952 137.07946667l-41.50613333 99.39626667z"
fill=
"#FCF6A0"
p
-
id=
"3254"
></
path
>
<
path
d=
"M573.71306667 378.19733333c-14.7456-11.4688-27.8528-52.4288-50.24426667-61.16693333-20.75306667-1.6384-28.39893333-8.192-55.7056-2.73066667 9.8304-4.9152 19.11466667-11.4688 29.4912-14.7456 7.09973333-1.6384 13.65333333 0 20.75306667 1.09226667 1.6384-0.54613333 2.73066667-1.6384 2.18453333-3.2768-27.30666667-16.93013333-83.5584-16.93013333-121.78773333-26.76053333 44.2368 1.6384 92.84266667-1.09226667 126.1568 9.8304 26.76053333 23.48373333 35.49866667 68.26666667 49.152 97.75786666z m80.82773333-198.2464c6.00746667 0.54613333 38.77546667 52.4288 40.41386667 61.16693334 2.73066667 19.11466667 9.28426667 39.86773333 11.4688 60.07466666-5.46133333-19.11466667-11.4688-38.22933333-18.56853334-56.79786666-2.18453333-5.46133333-7.64586667-16.93013333-22.9376-33.86026667-7.09973333-12.01493333-8.73813333-21.2992-10.37653333-30.58346667z m111.4112 283.4432h-14.19946667l15.29173334 3.82293334-1.09226667-3.82293334z m-96.11946667-13.65333333c-14.19946667-1.6384-28.39893333-2.18453333-42.5984 1.09226667-6.00746667 7.64586667-6.00746667 15.83786667-8.73813333 22.9376 16.93013333-19.11466667 24.02986667-20.20693333 51.33653333-24.02986667z m193.3312 97.75786667c-7.64586667 6.00746667-8.73813333 12.01493333-32.22186666 19.11466666-16.93013333 3.82293333-26.76053333-2.73066667-34.4064-12.01493333 12.01493333 3.2768 14.19946667 12.56106667 46.42133333 2.18453333l20.20693333-9.28426666z m-70.4512 3.82293333c-5.46133333 15.83786667-12.01493333 31.1296-18.0224 45.8752-14.7456 17.47626667-8.192 7.64586667-30.58346666 33.86026667 7.09973333-10.92266667 16.384-21.2992 20.75306666-32.768 3.2768-7.64586667 7.64586667-15.29173333 9.28426667-21.84533334-6.00746667-2.73066667-17.47626667-3.2768-19.11466667-2.18453333-19.6608 11.4688-22.9376 23.48373333-34.4064 35.49866667 8.192-13.1072 15.29173333-27.8528 25.12213334-39.86773334 1.09226667-1.6384 8.192-1.6384 12.56106666-2.73066666-7.09973333-1.09226667-19.6608-3.82293333-20.75306666-3.2768-12.56106667 3.2768-19.6608 14.19946667-29.4912 21.2992 7.09973333-9.8304 13.1072-20.20693333 21.84533333-28.94506667 1.09226667-1.09226667 24.576 1.09226667 36.59093333 6.00746667v4.9152l7.09973334 2.73066666 5.46133333-13.1072 13.65333333-5.46133333z m-154.55573333 93.93493333c-3.2768-1.09226667-31.1296-4.9152-31.1296-3.82293333-10.92266667 7.64586667-12.01493333 14.7456-12.01493333 21.2992 17.47626667-17.47626667 16.93013333-17.47626667 43.14453333-17.47626667z m-21.2992-125.61066666s20.20693333-2.73066667 19.6608-1.09226667c-1.6384 7.09973333 2.73066667 24.02986667 2.73066667 21.2992l-11.4688 9.28426667c23.48373333-12.01493333 48.60586667-9.28426667 73.728-11.4688 0 0-21.2992-6.00746667-19.6608-6.00746667 4.9152-0.54613333-1.09226667-21.84533333-2.73066667-22.39146667 3.82293333-1.09226667 8.192-2.18453333 12.01493333-3.2768-30.58346667-7.64586667-48.05973333-3.2768-74.27413333 13.65333334z"
p
-
id=
"3255"
></
path
>
<
path
d=
"M789.98186667 534.9376l-4.36906667 2.18453333c-0.54613333-13.1072-14.7456-12.01493333-26.2144-12.01493333l-9.8304-2.18453333c2.73066667 2.73066667 12.01493333 2.73066667 8.192 8.192-3.2768 1.6384-4.36906667 8.73813333-6.00746667 14.7456h-5.46133333c9.28426667 3.82293333 18.0224 6.5536 27.8528 10.92266666l6.00746667 1.09226667 14.19946666-7.64586667-4.36906666-15.29173333z"
p
-
id=
"3256"
></
path
>
<
path
d=
"M657.27146667 525.65333333c-2.18453333-4.36906667-13.65333333-3.82293333-15.83786667-1.09226666-2.18453333 2.18453333 0 17.47626667 2.18453333 14.7456 3.82293333-3.2768 8.73813333-4.36906667 14.19946667-4.36906667 1.09226667-2.73066667 0.54613333-6.00746667-0.54613333-9.28426667z m108.68053333 22.39146667c1.09226667-0.54613333 3.2768-8.192 2.73066667-10.37653333-1.6384-5.46133333-12.01493333-4.36906667-12.01493334-4.36906667-2.73066667 1.6384-4.9152 9.8304-3.82293333 12.56106667 0.54613333 2.73066667 11.4688 3.2768 13.1072 2.18453333z"
fill=
"#FFFFFF"
p
-
id=
"3257"
></
path
>
<
path
d=
"M315.392 808.5504l6.5536 0.54613333c39.3216 19.11466667 104.31146667 48.05973333 198.79253333 32.768l14.7456 23.48373334c-41.50613333 20.20693333-86.28906667 15.29173333-127.7952 16.93013333L315.392 808.5504z m-56.79786667-153.46346667l19.6608 83.01226667c52.97493333 33.31413333 143.63306667 70.99733333 218.99946667 67.72053333l-16.93013333-38.22933333c-157.2864-32.768-170.3936-75.3664-221.73013334-112.50346667z m49.152-169.84746666c9.8304 64.44373333 22.39146667 113.0496 78.6432 154.0096 34.4064 24.576 68.26666667 49.152 109.7728 69.35893333 0 0-3.82293333 19.11466667-6.5536 18.56853333-123.42613333-13.65333333-213.53813333-115.78026667-224.4608-162.74773333 10.37653333-35.49866667 25.66826667-57.89013333 42.5984-79.18933333z m58.9824-36.59093334c16.384 71.54346667 55.7056 143.63306667 94.48106667 209.16906667 14.19946667 18.0224 18.0224 26.2144 39.86773333 37.13706667 29.4912 9.28426667 50.7904 7.09973333 72.0896 5.46133333-6.00746667-10.92266667-10.92266667-22.39146667-18.0224-32.768-48.05973333-38.22933333-26.2144-73.18186667-13.1072-95.0272-26.76053333-6.5536-62.2592-21.2992-67.1744-40.41386667-7.64586667-61.16693333-3.2768-80.2816 4.36906667-111.95733333-36.0448 7.64586667-73.18186667 15.29173333-112.50346667 28.39893333z"
p
-
id=
"3258"
></
path
>
<
path
d=
"M233.472 69.632c-12.01493333 7.64586667-23.48373333 19.11466667-36.0448 31.67573333-20.75306667 21.2992-34.4064 42.05226667-55.15946667 57.344-4.36906667 3.82293333-15.83786667 9.28426667-30.58346666 10.37653334-7.09973333 0.54613333-11.4688 1.6384-24.02986667 0-11.4688-6.00746667-21.84533333-2.18453333-32.22186667 10.37653333-11.4688 16.384-26.2144 47.5136-32.22186666 67.72053333C10.6496 296.82346667 42.32533333 338.3296 72.9088 370.00533333c27.30666667 26.2144 42.5984 43.14453333 53.52106667 67.1744 8.192 15.83786667 14.7456 37.13706667 21.2992 52.4288 2.18453333 4.9152 2.18453333 4.9152 8.73813333 6.00746667 14.19946667 3.2768 33.86026667 3.2768 51.33653333 4.36906667 7.64586667 0 18.0224 0 27.8528-1.09226667 13.65333333-2.73066667 29.4912-4.9152 42.5984-9.8304 13.1072-3.2768 24.576-7.64586667 34.95253334-11.4688-1.09226667 4.36906667-11.4688 8.73813333-15.29173334 14.7456-35.49866667 50.7904-45.32906667 96.11946667-38.77546666 167.1168 3.2768 31.67573333 10.92266667 57.89013333 21.84533333 87.92746667 4.9152 13.65333333 15.83786667 35.49866667 25.66826667 49.69813333 30.58346667 43.14453333 98.304 97.75786667 192.78506666 119.05706667 16.384 2.18453333 34.95253333 1.09226667 52.97493334-3.82293334 46.42133333-14.19946667 141.99466667-47.5136 141.99466666-47.5136s-84.65066667 7.09973333-122.88 3.2768c-8.73813333-1.6384-18.56853333-1.6384-25.12213333-8.192-1.09226667-1.09226667-4.9152-8.73813333-2.18453333-9.28426666 3.2768 0 13.1072-3.82293333 27.8528-5.46133334-31.67573333-3.2768-31.1296-3.2768-33.31413334-9.28426666-4.36906667-10.92266667-9.28426667-21.2992-14.7456-31.67573334 13.65333333 1.09226667 44.78293333 2.73066667 55.15946667-7.64586666 0 0-18.0224 2.18453333-34.4064 0-5.46133333-0.54613333-14.7456-3.82293333-17.47626667-4.9152-7.09973333-2.73066667-13.1072-3.82293333-14.7456-5.46133334-2.73066667-6.5536-4.36906667-8.73813333-7.09973333-16.93013333-4.36906667-11.4688-4.36906667-24.02986667-5.46133333-35.49866667 10.37653333 13.1072 24.02986667 24.02986667 41.50613333 29.4912 0-0.54613333 22.9376 9.8304 39.86773333 4.36906667l3.2768-1.09226667c0 0.54613333-10.92266667 1.09226667-15.29173333-1.09226666-33.86026667-14.19946667-38.77546667-26.76053333-44.2368-33.31413334l-14.7456-21.84533333c4.36906667-8.73813333 7.09973333-9.28426667 12.56106667-9.28426667 17.47626667 2.18453333 25.66826667 3.2768 36.0448 1.09226667 7.09973333 15.29173333 9.28426667 30.03733333 25.66826666 40.96 55.15946667 16.384 67.1744-4.9152 80.82773334-23.48373333 39.86773333 29.4912 104.8576 38.22933333 149.64053333 0.54613333 57.344-66.08213333 75.3664-170.3936 70.4512-176.40106667-7.09973333-12.01493333-16.384-24.576-24.576-22.9376-28.94506667 7.64586667-39.3216 22.39146667-67.72053333 19.11466667 3.2768 0 9.28426667 0 9.28426666-0.54613333 2.18453333-24.02986667 0-35.49866667-1.09226666-37.6832-8.73813333-19.11466667-20.20693333-39.3216-27.8528-54.0672-2.18453333-3.2768-8.192-26.76053333-18.0224-36.0448-4.36906667-3.82293333-14.7456-13.1072-14.7456-13.1072l-1.09226667 10.37653333s4.36906667 0.54613333 5.46133333 7.09973333c6.00746667 24.02986667 36.0448 81.37386667 38.22933334 84.10453334 10.92266667 17.47626667 1.09226667 38.77546667 9.28426666 50.7904 0.54613333 1.6384 16.384 0 28.94506667 0.54613333 20.20693333-4.36906667 19.11466667-13.1072 36.59093333-14.7456 12.01493333-1.09226667 13.1072 21.2992 12.56106667 22.9376-2.18453333 24.576-9.8304 52.4288-20.75306667 78.6432-23.48373333 45.32906667-49.69813333 86.28906667-87.38133333 91.7504-45.8752 8.192-69.35893333-12.01493333-93.93493333-24.576l-9.28426667 8.192c-32.22186667 32.22186667-70.4512 28.94506667-85.74293333-12.56106667-7.64586667-16.384-18.0224-26.2144-26.76053334-39.86773333l-45.8752 33.31413333c-3.82293333 7.64586667-8.73813333 20.20693333-14.19946666 33.86026667-3.82293333 9.8304-7.09973333 26.2144-7.09973334 39.86773333-6.00746667 9.8304 20.20693333 50.7904 37.13706667 75.3664 4.9152 7.09973333 14.19946667 20.20693333 14.19946667 20.75306667 3.2768 8.73813333 10.37653333 16.384 10.92266666 16.93013333 31.1296 40.41386667-38.77546667 31.1296-53.52106666 28.39893334-28.39893333-4.36906667-56.25173333-16.384-82.46613334-32.22186667-1.6384-1.09226667-3.2768-1.6384-4.36906666-2.73066667-31.1296-19.6608-59.52853333-44.78293333-84.10453334-69.35893333-14.7456-16.384-28.39893333-50.24426667-38.77546666-73.728-15.29173333-57.344-37.13706667-156.74026667 22.39146666-232.10666667 3.82293333-4.36906667 7.64586667-11.4688 11.4688-13.1072 17.47626667-12.01493333 37.13706667-20.20693333 57.344-24.576l-2.18453333-13.1072c-10.37653333 2.18453333-44.78293333 15.29173333-54.61333333 20.20693334-22.39146667 6.5536-40.96 13.1072-69.35893334 20.20693333-9.28426667 1.09226667-18.0224 1.09226667-27.30666666 0-20.20693333-2.73066667-55.15946667-0.54613333-57.344-2.18453333-13.65333333-19.11466667-17.47626667-54.0672-30.03733334-72.63573334-7.64586667-9.8304-15.83786667-18.0224-24.576-26.2144-30.03733333-30.03733333-56.25173333-58.9824-63.35146666-90.112-1.6384-9.28426667-6.5536-18.56853333-3.82293334-45.32906666 7.09973333-25.12213333 19.11466667-45.8752 39.3216-66.08213334 20.75306667 0.54613333 41.50613333 0.54613333 57.89013334 3.82293334 7.64586667 1.09226667 22.9376 3.2768 38.77546666 9.28426666 40.41386667 14.7456 93.3888 39.86773333 93.3888 39.86773334-39.86773333-21.84533333-84.65066667-50.24426667-112.50346666-56.25173334-4.36906667-0.54613333-6.5536-2.73066667-8.192-6.00746666 42.5984-25.12213333 50.24426667-54.0672 78.09706666-80.2816 12.56106667-5.46133333 17.47626667-8.192 28.39893334-9.28426667 99.9424 15.83786667 163.29386667 55.7056 212.992 82.46613333 20.20693333 10.92266667 38.77546667 19.11466667 56.25173333 29.4912 15.29173333 4.9152 61.71306667 39.86773333 75.3664 58.9824 13.65333333 28.94506667 24.02986667 60.6208 33.31413333 91.20426667 6.5536 31.1296 12.56106667 43.69066667 12.56106667 43.69066667s-5.46133333-25.66826667-4.9152-30.58346667c6.00746667 2.18453333 19.6608 6.5536 25.12213333 6.00746667 0 0-25.66826667-13.1072-28.94506666-24.576-10.92266667-37.13706667-21.2992-95.57333333-24.576-98.304-8.192-10.37653333-42.05226667-36.0448-62.80533334-48.05973334-7.64586667-4.36906667-12.01493333-7.64586667-12.56106666-9.28426666 6.5536-6.5536 14.7456-15.83786667 22.39146666-21.2992 7.09973333-5.46133333 13.65333333-11.4688 23.48373334-15.29173334 43.14453333-19.6608 68.26666667 7.64586667 73.728 2.18453334 0 0-9.28426667-10.92266667-4.9152-8.73813334 4.36906667 2.18453333 18.0224 4.9152 19.6608 6.5536 15.83786667 12.56106667 57.344 57.344 81.92 105.40373334 6.00746667 11.4688 8.192 19.11466667 5.46133333 33.31413333-2.73066667 14.19946667-4.9152 21.84533333-8.192 31.1296-2.73066667 6.00746667-18.0224 49.152-18.0224 55.15946667-3.2768 23.48373333 10.37653333 52.97493333 10.37653333 52.97493333 0-8.192-0.54613333-12.56106667 0-18.0224l1.09226667-10.37653333s-0.54613333-2.73066667-0.54613333-3.82293334c0.54613333-7.09973333 2.18453333-13.1072 2.73066666-16.93013333 4.9152-30.58346667 13.65333333-52.97493333 23.48373334-80.2816 2.73066667-6.5536 6.5536-10.37653333 6.5536-15.83786667 0-9.28426667-8.192-21.2992-14.19946667-33.86026666-6.5536-13.65333333-14.19946667-27.30666667-22.39146667-40.41386667-21.2992-31.1296-39.86773333-55.15946667-73.18186666-70.4512-9.28426667-4.36906667-46.42133333-8.192-58.9824-6.00746667-15.29173333 3.2768-28.94506667 6.5536-39.3216 13.1072-16.93013333 10.92266667-30.03733333 27.30666667-45.32906667 37.13706667-33.86026667-16.93013333-50.24426667-30.03733333-53.52106667-31.67573333-20.20693333-10.92266667-44.78293333-23.48373333-70.4512-35.49866667C382.5664 103.49226667 305.01546667 75.09333333 233.472 69.632z m435.8144 635.6992c-20.75306667-16.384-38.77546667-33.31413333-50.24426667-50.7904-3.82293333 20.20693333-17.47626667 34.95253333-28.39893333 49.152-2.18453333 3.2768-3.82293333 8.192 6.5536 22.39146667 2.73066667 3.82293333 13.1072 4.36906667 19.6608 4.36906666-7.09973333-5.46133333-17.47626667-10.92266667-19.11466667-15.83786666 12.56106667 8.192 23.48373333 10.92266667 33.86026667 9.28426666 2.18453333 0 5.46133333-2.73066667 7.64586667-6.5536 4.36906667-9.8304 8.192-12.01493333 12.01493333-14.7456l8.192 10.37653334 9.8304-7.64586667z"
p
-
id=
"3259"
></
path
>
</
svg
>
);
export
const
JavaSvg
=
()
=>
(
<
svg
t=
"1640791080436"
className=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
<
svg
t=
"1640791080436"
className=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p
-
id=
"19717"
width=
{
svgSize
}
height=
{
svgSize
}
>
p
-
id=
"19717"
width=
{
svgSize
}
height=
{
svgSize
}
>
<
path
<
path
...
...
dlink-web/src/pages/DataBase/DB.ts
View file @
6860ab21
...
@@ -22,6 +22,9 @@ export function getDBImage(type: string) {
...
@@ -22,6 +22,9 @@ export function getDBImage(type: string) {
case
'phoenix'
:
case
'phoenix'
:
imageUrl
+=
'phoenix.png'
;
imageUrl
+=
'phoenix.png'
;
break
;
break
;
case
'hive'
:
imageUrl
+=
'hive.png'
;
break
;
default
:
default
:
imageUrl
+=
'db.jpg'
;
imageUrl
+=
'db.jpg'
;
}
}
...
...
dlink-web/src/pages/DataBase/components/DBForm.tsx
View file @
6860ab21
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
}
from
'react'
;
import
{
Modal
,
Image
,
List
,
Card
}
from
'antd'
;
import
{
Card
,
Image
,
List
,
Modal
}
from
'antd'
;
import
{
DataBaseItem
}
from
'../data.d'
;
import
{
DataBaseItem
}
from
'../data.d'
;
import
{
connect
}
from
"umi"
;
import
{
connect
}
from
"umi"
;
...
@@ -37,6 +37,9 @@ const data:any = [
...
@@ -37,6 +37,9 @@ const data:any = [
{
{
type
:
'Phoenix'
,
type
:
'Phoenix'
,
},
},
{
type
:
'Hive'
,
},
];
];
const
DBForm
:
React
.
FC
<
UpdateFormProps
>
=
(
props
)
=>
{
const
DBForm
:
React
.
FC
<
UpdateFormProps
>
=
(
props
)
=>
{
...
...
pom.xml
View file @
6860ab21
...
@@ -262,6 +262,11 @@
...
@@ -262,6 +262,11 @@
<artifactId>
dlink-metadata-doris
</artifactId>
<artifactId>
dlink-metadata-doris
</artifactId>
<version>
${project.version}
</version>
<version>
${project.version}
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.dlink
</groupId>
<artifactId>
dlink-metadata-hive
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<dependency>
<groupId>
com.dlink
</groupId>
<groupId>
com.dlink
</groupId>
<artifactId>
dlink-metadata-phoenix
</artifactId>
<artifactId>
dlink-metadata-phoenix
</artifactId>
...
...
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