跳到主要内容
版本:3.2

服务部署

文档中有动态替换关键字的在部署时需要替换

DVS项目部署

datavs-port服务

配置文件:

application.properties

server.port=38082
server.servlet.context-path=/port
spring.metrics.servo.enabled=false
##动态替换 数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://10.25.19.1:3306/nexus_port_dev?tinyInt1isBit=false&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=dev
spring.datasource.password=123456

##mybatis-plus
##mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml
mybatis-plus.mapper-locations=classpath:mybatis/mybatis-mapper/*.xml
#??sql
#mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

# port server config
nexus.odpc.server.boss-thread=4
nexus.odpc.server.worker-thread=8
# If no port is specified, a random free port is specified
#nexus.odpc.server.server-port=29998
#nexus.odpc.server.code=test001
nexus.odpc.server.max-driver-conns=200
nexus.odpc.server.heartbeat-hz=5000
#nexus.odpc.server.storages=1
# tick server config
nexus.odpc.server.tick-boss-thread=2
nexus.odpc.server.tick-worker-thread=2
nexus.odpc.server.tick-server-port=20001

# port server thread pool config
nexus.odpc.thread.pool.threads=20
nexus.odpc.thread.pool.queue-size=20
# Redis registry config
## redis:cluster//${node}:${port},.../${db}?master=mymaster&maxRedirects=3&minIdle=2&maxIdle=2&maxActive=2
## redis:sentinel//${node}:${port},.../${db}?master=mymaster&minIdle=2&maxIdle=2&maxActive=2
## redis:single//${node}:${port}/${db}?minIdle=2&maxIdle=2&maxActive=2
##动态替换 redis配置
nexus.odpc.registry.url=redis:single//10.25.19.3:6379/0?minIdle=2&maxIdle=2&maxActive=2
nexus.odpc.registry.password=Apexredis777

# Engine pool config
nexus.odpc.engine.min=1
nexus.odpc.engine.max=5
##动态替换 port服务spark任务执行依赖的jar
nexus.odpc.engine.jar-location=/home/hadoop/dataverse/port/dataverse-spark-engine.jar
nexus.odpc.engine.main-class=org.apex.dataverse.engine.EngineApp
nexus.odpc.engine.master=yarn
##动态替换 port服务对应日志目录
nexus.odpc.engine.redirect-path=/home/hadoop/dataverse/port/logs
# client cluster 目前只支持client模式
nexus.odpc.engine.deploy-mode=client
#nexus.odpc.engine.deploy-mode=cluster
nexus.odpc.engine.tick-interval-ms=5000
nexus.odpc.engine.boss-thread=2
nexus.odpc.engine.worker-thread=4
##动态替换 依赖的数据库驱动jar
nexus.odpc.engine.dependence-jars=/data/software/hive/lib/mysql-connector-java-8.0.26.jar
##spark参数
nexus.odpc.engine.spark-args[--driver-memory]=4G
nexus.odpc.engine.spark-args[--executor-memory]=4G
nexus.odpc.engine.spark-args[--num-executors]=4

依赖jar:通过maven打包后上传到指定的目录 例如:/home/hadoop/dataverse/port

信息

dataverse-port-server.jar

dataverse-spark-engine.jar

启动脚本:start.sh

kill -9 `ps -ef |grep dataverse-port-server |grep -v grep|awk '{print $2}'`

sleep 15



nohup java -jar dataverse-port-server.jar > nohup-port.out 2>&1 &

datavs-admin服务

配置文件

bootstrap.properties

server.port=18080
#server.servlet.context-path=/dataverse-admin
spring.application.name=dvs-admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
##动态替换 数据库配置
spring.datasource.url=jdbc:mysql://10.25.19.1:3306/nexus_datavs?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8&allowMultiQueries=true&useCursorFetch=true&serverTimezone=Asia/Shanghai
spring.datasource.username=dev
spring.datasource.password=123456
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
##动态替换 nacos配置
spring.cloud.nacos.discovery.server-addr=10.25.19.3:8848
spring.cloud.nacos.discovery.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.group=standard
##动态替换 nacos配置
spring.cloud.nacos.config.server-addr=10.25.19.3:8848
spring.cloud.nacos.config.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.group=standard

##动态替换 redis配置
nexus.odpc.registry.url=redis:single//10.25.19.3:6379/0?minIdle=2&maxIdle=2&maxActive=2
nexus.odpc.registry.password=Apexredis777

nexus.port.connection.pool.capacity=2000

## 动态替换 xxl-job的配置
## xxl-job配置
#xxl.job.admin.addresses=http://10.25.19.1:9080/
xxl.job.admin.addresses=http://dataverse.chinapex.com.cn/xxl-job-admin
xxl.job.executor.appname=dvs-admin
xxl.job.executor.ip=
xxl.job.executor.port=18083
xxl.job.accessToken=default_token
xxl.job.executor.logpath=logs/dvs-admin/xxl-job-executor-logs
xxl.job.executor.logretentiondays=-1
xxl.job.executor.maxConcurrentSize=5
xxl.job.executor.customize-executor-biz-bean-name=jobStatusReceiver
xxl.job.executor.task-timeout=7200
xxl.job.executor.task-fail-retry-count=0

nexus.odpc.file.location=/tmp/dataverse/
# 接入权限时 参数可以不用
security.encode.key=apexnexusdatavs1

依赖jar:通过maven打包后上传到指定的目录 例如:/home/hadoop/dataverse/admin

信息

dataverse-admin-service.jar

启动脚本:start.sh

kill -9 `ps -ef |grep dataverse-admin-service |grep -v grep|awk '{print $2}'`



nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./dataverse-admin-service.jar -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &

创建数据库:nexus_datavs

create database nexus_datavs default charset utf8mb4 collate utf8mb4_unicode_ci;

创建数据表SQL:

-- ----------------------------
-- Table structure for bdm_in_table
-- ----------------------------
DROP TABLE IF EXISTS `bdm_in_table`;
CREATE TABLE `bdm_in_table` (
`bdm_in_table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`bdm_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开发任务依赖表编码',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据域',
`table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名,英文名,帕斯卡命名法则',
`table_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表别名',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`dw_layer` tinyint NOT NULL COMMENT '来自所选择的region中,所属数据仓库的分层,1:ODS,2:CDM,3:ADS',
`dw_layer_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据仓库的分层,11:ODS,21:DWD,22:DWS,23:DIM,31:MASTER,32:MODEL,33:LABEL,34:DM,',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`bdm_in_table_id`) USING BTREE,
INDEX `bdm_job_code`(`bdm_job_code` ASC, `env` ASC) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5167 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表数据处理输入' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for bdm_job
-- ----------------------------
DROP TABLE IF EXISTS `bdm_job`;
CREATE TABLE `bdm_job` (
`bdm_job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '大数据建模作业ID',
`bdm_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域编码',
`bdm_job_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '大数据建模作业名称',
`bdm_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '大数据建模作业分组编码',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '大数据建模作业描述',
`job_lifecycle` tinyint(1) NOT NULL COMMENT '作业生命周期/状态 \n作业开发中(草稿):11\r\n作业开发完成:12\r\n作业测试中:21\r\n作业测试完成(通过):22\r\n调度编排中:31\r\n调度编排完成:32\r\n调度测试中:41\r\n调度测试完成(通过):42\r\n已发布生产:51\r\n生产测试中:61\r\n生产测试完成(通过):62\r\n已上线:71\r\n已下线:72',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`bdm_job_id`) USING BTREE,
UNIQUE INDEX `bdm_job_code`(`bdm_job_code` ASC, `env` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE,
INDEX `data_region_code`(`data_region_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 83 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '大数据建模作业,Bigdata Data Modeling' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for bdm_job_group
-- ----------------------------
DROP TABLE IF EXISTS `bdm_job_group`;
CREATE TABLE `bdm_job_group` (
`bdm_job_group_id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域编码',
`bdm_group_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '大数据建模作业分组',
`bdm_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '大数据建模作业分组编码',
`parent_bdm_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '大数据建模作业分组父编码',
`group_level` tinyint(1) NOT NULL COMMENT '大数据建模作业分组层级',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`bdm_job_group_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '大数据建模作业分组' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for bdm_out_table
-- ----------------------------
DROP TABLE IF EXISTS `bdm_out_table`;
CREATE TABLE `bdm_out_table` (
`bdm_out_table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`bdm_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据域',
`bdm_out_type` tinyint NOT NULL COMMENT '表输出类型,1:临时表,2:正式表-逻辑,3:正式表-物理',
`table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名,英文名,帕斯卡命名法则',
`table_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表别名',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`dw_layer` tinyint NOT NULL COMMENT '来自所选择的region中,所属数据仓库的分层,1:ODS,2:CDM,3:ADS',
`dw_layer_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据仓库的分层,11:ODS,21:DWD,22:DWS,23:DIM,31:MASTER,32:MODEL,33:LABEL,34:DM,',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`bdm_out_table_id`) USING BTREE,
INDEX `bdm_job_code`(`bdm_job_code` ASC, `env` ASC) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 473 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表数据处理输出' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for bdm_out_table_column
-- ----------------------------
DROP TABLE IF EXISTS `bdm_out_table_column`;
CREATE TABLE `bdm_out_table_column` (
`bdm_out_column_id` bigint NOT NULL,
`table_id` bigint NOT NULL COMMENT '表ID',
`column_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '列名,英文,帕斯卡命名法则',
`column_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列别名,显示名称',
`data_type_id` int NOT NULL COMMENT '数据类型ID',
`data_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据类型名称',
`short_data_type_id` tinyint NOT NULL COMMENT '数据类型-短类型。1:字符串,2:整数,3:浮点,4:日期,5:日期时间',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`is_primary_key` tinyint NULL DEFAULT NULL COMMENT '是否主键, 1:是,0:否',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`bdm_out_column_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for bdm_script
-- ----------------------------
DROP TABLE IF EXISTS `bdm_script`;
CREATE TABLE `bdm_script` (
`bdm_script_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据建模任务ID',
`bdm_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '大数据建模作业编码',
`version` smallint NULL DEFAULT 0 COMMENT '版本',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`bdm_script` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据建模脚本',
`engine_type` tinyint NOT NULL COMMENT '引擎类型,1:spark引擎,2:flink引擎',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`bdm_script_id`) USING BTREE,
INDEX `bdm_job_code`(`bdm_job_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 939 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表数据处理信息,处理脚本信息' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for biz_region
-- ----------------------------
DROP TABLE IF EXISTS `biz_region`;
CREATE TABLE `biz_region` (
`biz_region_id` bigint NOT NULL AUTO_INCREMENT COMMENT '业务域ID',
`biz_region_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务域名称',
`project_id` bigint NOT NULL COMMENT '项目ID',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '业务域描述信息',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`biz_region_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for ck_storage
-- ----------------------------
DROP TABLE IF EXISTS `ck_storage`;
CREATE TABLE `ck_storage` (
`ck_storage_id` bigint NOT NULL AUTO_INCREMENT,
`data_storage_id` bigint NOT NULL,
PRIMARY KEY (`ck_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for client_history
-- ----------------------------
DROP TABLE IF EXISTS `client_history`;
CREATE TABLE `client_history` (
`client_history_id` bigint NOT NULL COMMENT '引擎客户端链接历史记录ID',
`data_engine_id` bigint NULL DEFAULT NULL COMMENT '数据计算引擎ID',
`channel_id` int NULL DEFAULT NULL COMMENT '连接的Channel ID',
`conn_time` datetime NULL DEFAULT NULL COMMENT '连接时间',
`disconn_time` datetime NULL DEFAULT NULL COMMENT '断开连接时间',
`client_ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接客户端的IP地址',
`create_time` datetime NULL DEFAULT NULL COMMENT '记录创建时间',
PRIMARY KEY (`client_history_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '计算引擎客户端连接历史表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for cmd_history
-- ----------------------------
DROP TABLE IF EXISTS `cmd_history`;
CREATE TABLE `cmd_history` (
`cmd_history_id` bigint NOT NULL AUTO_INCREMENT,
`data_engine_id` int NULL DEFAULT NULL,
`cmd_json` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
`client_ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`channel_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`cmd_history_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for command
-- ----------------------------
DROP TABLE IF EXISTS `command`;
CREATE TABLE `command` (
`command_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '命令ID',
`command` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '命令,Json格式',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`command_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for data_engine
-- ----------------------------
DROP TABLE IF EXISTS `data_engine`;
CREATE TABLE `data_engine` (
`data_engine_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据计算引擎ID',
`data_engine_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎名称',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '引擎Driver所在的机器主机名',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎Driver所在的机器IP',
`port` int NOT NULL COMMENT '引擎Driver中server绑定的端口号',
`engine_type` tinyint NOT NULL COMMENT '引擎类型,1:Spark批处理引擎,2:Spark流式引擎,3:Flink批处理引擎,4:Flink流式处理引擎',
`engine_status` tinyint NOT NULL COMMENT '引擎状态',
`submited_job_num` int NULL DEFAULT NULL COMMENT '提交过的作业总数',
`running_job_num` int NULL DEFAULT NULL COMMENT '运行中作业总数',
`pending_job_num` int NULL DEFAULT NULL COMMENT '待处理作业数',
`max_running_job_num` int NOT NULL COMMENT '最大运行作业数',
`memory_capacity` int NULL DEFAULT NULL COMMENT '内存容量',
`cpu_capacity` int NULL DEFAULT NULL COMMENT 'CPU容量',
`driver_memory_capacity` int NULL DEFAULT NULL COMMENT 'Driver内存容量',
`driver_cup_capacity` int NULL DEFAULT NULL COMMENT 'Driver CPU容量',
`executor_memory_capacity` int NULL DEFAULT NULL COMMENT '执行器内存容量',
`executor_cup_capacity` int NULL DEFAULT NULL COMMENT '执行器CPU容量',
`executor_num` int NULL DEFAULT NULL COMMENT '执行器数量',
`client_num` int NULL DEFAULT NULL COMMENT '客户端链接数量',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`data_engine_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '计算引擎注册表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for data_region
-- ----------------------------
DROP TABLE IF EXISTS `data_region`;
CREATE TABLE `data_region` (
`data_region_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据域ID',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据域编码。同一数据域在不同环境下编码相同。data_region_code+env可唯一确认一个数据域',
`region_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域名称,英文名称',
`region_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域别名,显示名称',
`region_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域简称,英文缩写',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同;Datavs_code+env唯一确认一个Datavs',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`dw_layer` tinyint NOT NULL COMMENT '所属数据仓库的分层,1:ODS,2:CDM,3:ADS',
`dw_layer_detail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据仓库的分层,11:ODS,21:DWD,22:DWS,23:DIM,31:MASTER,32:MODEL,33:LABEL,34:DM,',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据域描述',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`data_region_id`) USING BTREE,
UNIQUE INDEX `data_region_code`(`data_region_code` ASC, `env` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 48 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据域' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for data_storage
-- ----------------------------
DROP TABLE IF EXISTS `data_storage`;
CREATE TABLE `data_storage` (
`storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '存储区ID',
`storage_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区名称,英文名称,唯一',
`storage_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区别名,显示名称',
`storage_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区简称,英文缩写',
`storage_type_id` tinyint NOT NULL COMMENT '存储区类型,0:HDFS,1:MySQL,2:MariaDB,3:Doris,4:ClickHouse,5:Oracle',
`storage_conn_type` tinyint NOT NULL COMMENT '存储区链接方式,1:HDFS,2:JDBC链接',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储区描述信息',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`storage_id`) USING BTREE,
UNIQUE INDEX `storage_name`(`storage_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for data_type_map
-- ----------------------------
DROP TABLE IF EXISTS `data_type_map`;
CREATE TABLE `data_type_map` (
`data_type_id` tinyint NOT NULL COMMENT '数据类型ID',
`data_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据类型名称',
`data_type_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据类型别名',
`short_data_type_id` tinyint NOT NULL COMMENT '数据类型-短类型。1:字符串,2:整数,3:浮点,4:日期,5:日期时间',
`short_data_type_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '短数据类型别名',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`data_type_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据类型字典表,脚本初始化' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for datasource
-- ----------------------------
DROP TABLE IF EXISTS `datasource`;
CREATE TABLE `datasource` (
`datasource_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据源实例ID',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`datasource_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源父编码,同一编码在不同环境(DEV/PROD)中相同',
`datasource_type_id` tinyint NOT NULL COMMENT '数据源类型ID',
`datasource_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源类型名称',
`datasource_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '实例名称,命名规则可为datasource_name + env(BASIC,DEV,TEST,PROD)',
`datasource_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源简称,缩写名称,字母数字下划线,非数字开头',
`datasource_read_write` tinyint NOT NULL COMMENT '数据源读写权限,1:只读,2:读写',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`conn_type` tinyint NOT NULL COMMENT '数据源链接类型,不同链接类型的配置在不同的表中,1:JDBC数据源,2:kafka数据源',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`datasource_id`) USING BTREE,
UNIQUE INDEX `datasource_code`(`datasource_code` ASC, `env` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 59 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for datasource_parent
-- ----------------------------
DROP TABLE IF EXISTS `datasource_parent`;
CREATE TABLE `datasource_parent` (
`parent_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据源ID',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '所属数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`datasource_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源父编码,同一编码在不同环境(DEV/PROD)中相同',
`datasource_type_id` tinyint NOT NULL COMMENT '数据源类型ID',
`datasource_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源类型名称',
`datasource_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源名称',
`datasource_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源简称,缩写名称,字母数字下划线,非数字开头',
`datasource_read_write` tinyint NOT NULL COMMENT '数据源读写权限,1:只读,2:读写',
`env_mode` tinyint NOT NULL COMMENT '环境模式, 1:BASIC,2:DEV-PROD',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`parent_id`) USING BTREE,
UNIQUE INDEX `datasource_code`(`datasource_code` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for datasource_type_map
-- ----------------------------
DROP TABLE IF EXISTS `datasource_type_map`;
CREATE TABLE `datasource_type_map` (
`datasource_type_id` tinyint NOT NULL COMMENT '数据源类型ID',
`datasource_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源类型名称,如MySQL、Oracle、PostgreSQL等',
`datasource_icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源类型图标',
`datasource_category_id` tinyint NULL DEFAULT NULL COMMENT '数据源类型分组ID。1、关系型数据库,2:NoSQL数据库,3:消息中间件',
`datasource_category_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源类型分组名称。关系型数据库,NoSQL数据库,消息中间件',
`is_valid` tinyint NOT NULL COMMENT '是否生效,0无效,1有效',
`comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注说明',
`create_time` datetime NOT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`datasource_type_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for datavs_odpc
-- ----------------------------
DROP TABLE IF EXISTS `datavs_odpc`;
CREATE TABLE `datavs_odpc` (
`odpc_id` bigint NOT NULL AUTO_INCREMENT COMMENT '连接器ID',
`odpc_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接器名称',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接器所在主机名',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '连接器所在IP',
`port` int NOT NULL COMMENT '连接器绑定的端口号',
`odpc_status` tinyint NOT NULL COMMENT '连接器状态',
`register_time` datetime NULL DEFAULT NULL COMMENT '连接器注册时间',
`disconn_time` datetime NULL DEFAULT NULL COMMENT '连接器断开时间',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`odpc_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Datavs ODPS 连接器' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for datavs_user
-- ----------------------------
DROP TABLE IF EXISTS `datavs_user`;
CREATE TABLE `datavs_user` (
`user_id` int NOT NULL AUTO_INCREMENT COMMENT '用户主键',
`user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`user_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户类型, 1:试用',
`create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for deploy
-- ----------------------------
DROP TABLE IF EXISTS `deploy`;
CREATE TABLE `deploy` (
`deploy_id` bigint NOT NULL AUTO_INCREMENT,
`schedule_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`deploy_time` datetime NULL DEFAULT NULL,
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
PRIMARY KEY (`deploy_id`) USING BTREE,
INDEX `schedule_code`(`schedule_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for deploy_job
-- ----------------------------
DROP TABLE IF EXISTS `deploy_job`;
CREATE TABLE `deploy_job` (
`deploy_job_id` bigint NOT NULL AUTO_INCREMENT,
`deploy_id` bigint NOT NULL,
`job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '被加入调度中原作业编码,ETL作业或BDM作业',
`job_type` tinyint(1) NOT NULL COMMENT '作业类型,1:ETL Job, 2:BDM Job',
`job_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业名称',
`node_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度节点编码',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`odl_etl` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '发布前ETL规则。json格式,来自table_extract/table_transform/table_load三表中的数据,按json格式组装。非ETL作业为空。',
`now_etl` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '发布后ETL规则。json格式,来自table_extract/table_transform/table_load三表中的数据(页面修改后传递至后端的),按json格式组装。非ETL作业为空。',
`old_bdm_script` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '发布前的BDM作业的脚本,非BDM作业为空',
`now_bdm_script` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '发布后的BDM作业的脚本,非BDM作业为空',
`version` int NULL DEFAULT NULL COMMENT '版本号,每发一次版本增加1',
`create_time` datetime NULL DEFAULT NULL COMMENT '发布时间',
PRIMARY KEY (`deploy_job_id`) USING BTREE,
INDEX `job_code`(`job_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for doris_storage
-- ----------------------------
DROP TABLE IF EXISTS `doris_storage`;
CREATE TABLE `doris_storage` (
`doris_storage_id` bigint NOT NULL AUTO_INCREMENT,
`data_storage_id` bigint NOT NULL,
PRIMARY KEY (`doris_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs
-- ----------------------------
DROP TABLE IF EXISTS `dvs`;
CREATE TABLE `dvs` (
`dvs_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据空间ID',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`dvs_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间名称,英文名称',
`dvs_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间别名,中文/显示名称',
`dvs_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间缩写,英文简称',
`env` tinyint(1) NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`dvs_status` tinyint NULL DEFAULT NULL COMMENT '数据仓库状态,1:规划中(草稿),2:开发中,3:已上线',
`layer_ata_isolation` tinyint NULL DEFAULT NULL COMMENT '0:未完成,1:层之间无隔离(三层同一存储区),2:ODS-CDM无隔离,3:全隔离',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据空间描述',
`mult_storage` tinyint(1) NULL DEFAULT NULL COMMENT '是否多存储区,0:单存储区,1:多存储区',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`dvs_id`) USING BTREE,
UNIQUE INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 75 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs_member
-- ----------------------------
DROP TABLE IF EXISTS `dvs_member`;
CREATE TABLE `dvs_member` (
`member_id` bigint NOT NULL COMMENT '成员ID',
`user_id` bigint NULL DEFAULT NULL COMMENT '用户ID',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'datavs父编码,同parent下datavs在多个环境(dev/prod)下datavs_code相同。',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名',
`nick_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '昵称',
`role` tinyint(1) NULL DEFAULT NULL COMMENT '1:项目负责人,2:架构师,3:业务负责人,4:研发,5:数据分析师',
`role_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`member_id`) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据空间成员表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs_parent
-- ----------------------------
DROP TABLE IF EXISTS `dvs_parent`;
CREATE TABLE `dvs_parent` (
`parent_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据空间父ID',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'datavs父编码,同parent下datavs在多个环境(dev/prod)下datavs_code相同。',
`parent_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间名称,英文名称',
`parent_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间别名,中文/显示名称',
`parent_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间缩写,英文简称',
`env_mode` tinyint NOT NULL COMMENT '环境模式,1:BASIC、2:DEV-PROD',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`parent_id`) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 34 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs_table
-- ----------------------------
DROP TABLE IF EXISTS `dvs_table`;
CREATE TABLE `dvs_table` (
`table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '表ID',
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表编码。同一Evn下,表编码唯一。table_code+env唯一',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据域编码。同一数据域在不同环境下编码相同。data_region_code+env可唯一确认一个数据域',
`table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表名,英文名称',
`table_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表别名,显示名称',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`dw_layer` tinyint NOT NULL COMMENT '数仓分层,1:ODS,2:CDM,3:ADS',
`dw_layer_detail` tinyint NOT NULL COMMENT '所属数据仓库的分层,11:ODS,21:DWD,22:DWS,23:DIM,31:MASTER,32:MODEL,33:LABEL,34:DM,',
`is_stream` tinyint NOT NULL COMMENT '是否流式表,1:是,0:否',
`create_mode` tinyint(1) NULL DEFAULT NULL COMMENT '建表模式,1:系统自动创建,2:手动创建',
`table_lifecycle` tinyint(1) NOT NULL COMMENT '表的生命周期/状态 \n开发中(草稿):11\r\n开发完成:12\r\n测试中:21\r\n测试完成(通过):22\r\n调度编排中:31\r\n调度编排完成:32\r\n调度测试中:41\r\n调度测试完成(通过):42\r\n已发布生产:51\r\n生产测试中:61\r\n生产测试完成(通过):62\r\n已上线:71\r\n已下线:72',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表描述信息',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`table_id`) USING BTREE,
UNIQUE INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE,
INDEX `data_region_code`(`data_region_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 729 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs_table_column
-- ----------------------------
DROP TABLE IF EXISTS `dvs_table_column`;
CREATE TABLE `dvs_table_column` (
`column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '列ID',
`column_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '列编码,同一列在不同环境中编码相同',
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`column_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '列名,英文,帕斯卡命名法则',
`column_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '列别名,显示名称',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`data_type_id` int NOT NULL COMMENT '数据类型ID',
`data_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据类型名称',
`short_data_type_id` tinyint NULL DEFAULT NULL COMMENT '数据类型-短类型。1:字符串,2:整数,3:浮点,4:日期,5:日期时间',
`is_primary_key` tinyint NULL DEFAULT NULL COMMENT '是否主键, 1:是,0:否',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`column_id`) USING BTREE,
UNIQUE INDEX `column_code`(`column_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10807 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '列' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for dvs_table_ddl
-- ----------------------------
DROP TABLE IF EXISTS `dvs_table_ddl`;
CREATE TABLE `dvs_table_ddl` (
`table_ddl_id` bigint NOT NULL AUTO_INCREMENT,
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表编码。同一Evn下,表编码唯一。table_code+env唯一',
`ddl_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '建表语句',
`version` int NULL DEFAULT NULL COMMENT '版本号,每更变更一次,版本号自加1',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`table_ddl_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 729 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表的建表语句' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for etl_job
-- ----------------------------
DROP TABLE IF EXISTS `etl_job`;
CREATE TABLE `etl_job` (
`etl_job_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ETL作业ID',
`etl_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ETL作业编码,同一作业在不同环境下etl_job_code相同',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域ID',
`etl_job_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'ETL作业名称',
`etl_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Etl作业分组编码',
`datasource_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源父编码,同一编码在不同环境(DEV/PROD)中相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ETL作业描述',
`cron` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定时规则,cron表达式',
`job_lifecycle` tinyint(1) NOT NULL COMMENT '作业生命周期/状态 \n作业开发中(草稿):11\r\n作业开发完成:12\r\n作业测试中:21\r\n作业测试完成(通过):22\r\n调度编排中:31\r\n调度编排完成:32\r\n调度测试中:41\r\n调度测试完成(通过):42\r\n已发布生产:51\r\n生产测试中:61\r\n生产测试完成(通过):62\r\n已上线:71\r\n已下线:72',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`etl_job_id`) USING BTREE,
UNIQUE INDEX `etl_job_code`(`etl_job_code` ASC, `env` ASC) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE,
INDEX `data_region_code`(`data_region_code` ASC, `env` ASC) USING BTREE,
INDEX `etl_group_code`(`etl_group_code` ASC) USING BTREE,
INDEX `datasource_code`(`datasource_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 45 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '数据抽取转换加载作业,Extract Transform and Load' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for etl_job_group
-- ----------------------------
DROP TABLE IF EXISTS `etl_job_group`;
CREATE TABLE `etl_job_group` (
`etl_group_id` bigint NOT NULL AUTO_INCREMENT,
`etl_group_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Etl作业分组名称',
`etl_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Etl作业分组编码',
`parent_etl_group_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Etl作业分组父编码',
`group_level` tinyint(1) NOT NULL COMMENT '分组层级',
`datasource_type_id` tinyint NULL DEFAULT NULL COMMENT '数据源类型ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
`data_region_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据域编码',
PRIMARY KEY (`etl_group_id`) USING BTREE,
UNIQUE INDEX `etl_group_code`(`etl_group_code` ASC) USING BTREE,
INDEX `parent_etl_group_code`(`parent_etl_group_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 65 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for hdfs_storage
-- ----------------------------
DROP TABLE IF EXISTS `hdfs_storage`;
CREATE TABLE `hdfs_storage` (
`hdfs_storage_id` bigint NOT NULL AUTO_INCREMENT,
`storage_id` bigint NOT NULL,
PRIMARY KEY (`hdfs_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for jdbc_source
-- ----------------------------
DROP TABLE IF EXISTS `jdbc_source`;
CREATE TABLE `jdbc_source` (
`jdbc_source_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'JDBC实例ID',
`datasource_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源父编码,同一编码在不同环境(DEV/PROD)中相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`datasource_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源名称,命名规则可为datasource_name + env(BASIC,DEV,TEST,PROD)',
`jdbc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接URL',
`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接密码',
`conn_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '链接配置JSON,如:{\"serverTimezone\":\"Asia/Shanghai\",\"useUnicode\":\"true\"}\n',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`jdbc_source_id`) USING BTREE,
UNIQUE INDEX `datasource_code`(`datasource_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for jdbc_storage
-- ----------------------------
DROP TABLE IF EXISTS `jdbc_storage`;
CREATE TABLE `jdbc_storage` (
`jdbc_storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`storage_id` bigint NOT NULL COMMENT '数据存储区ID',
`jdbc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接URL',
`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接密码',
`conn_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '链接配置JSON,如:{\"serverTimezone\":\"Asia/Shanghai\",\"useUnicode\":\"true\"}\n',
`storage_type` tinyint NOT NULL COMMENT '存储区类型,1:MySQL,2:MariaDB,3:Doris,4:ClickHouse,5:Oracle',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`jdbc_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_exe_log
-- ----------------------------
DROP TABLE IF EXISTS `job_exe_log`;
CREATE TABLE `job_exe_log` (
`job_exe_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID主键',
`job_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业ID',
`log_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志内容',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '记录日志的时间',
PRIMARY KEY (`job_exe_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_history
-- ----------------------------
DROP TABLE IF EXISTS `job_history`;
CREATE TABLE `job_history` (
`job_history_id` bigint NOT NULL AUTO_INCREMENT,
`job_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业ID。抽数作业或ETL作业的ID',
`data_engine_id` bigint NOT NULL COMMENT '数据计算引擎ID',
`data_engine_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据引擎名称',
`command_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '命令ID',
`channel_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Netty 链接的Channel ID',
`client_id` bigint NOT NULL COMMENT '客户端ID/引擎ID',
`job_submit_time` datetime NOT NULL COMMENT '作业提交时间',
`job_running_time` datetime NULL DEFAULT NULL COMMENT '作业开始运行时间',
`job_finished_time` datetime NULL DEFAULT NULL COMMENT '作业完成时间',
`job_status` tinyint NULL DEFAULT NULL COMMENT '作业状态',
`message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '作业异常消息',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`job_history_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '作业记录表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_instance
-- ----------------------------
DROP TABLE IF EXISTS `job_instance`;
CREATE TABLE `job_instance` (
`job_instance_id` int NOT NULL AUTO_INCREMENT,
`schedule_instance_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度实例编码,每次调度生成一 个唯一编码',
`node_id` bigint NOT NULL COMMENT '节点ID',
`node_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度作业节点编码',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '被加入调度中原作业编码,ETL作业或BDM作业',
`job_type` tinyint(1) NOT NULL COMMENT '作业类型,1:ETL Job, 2:BDM Job',
`start_offset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '当前调度任务执行实例的起始偏移量',
`end_offset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '当前调度任务执行实例的结束偏移量',
`exe_status` tinyint(1) NULL DEFAULT NULL COMMENT '执行状态',
`exe_result` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行结果消息',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`job_instance_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业执行实例编码,每次执行生成一个唯一code, job_code+start(yyyyMMddHHmm)+end(yyyyMMddHHmm)\r\n如:xxx_202403160000_202403170000',
PRIMARY KEY (`job_instance_id`) USING BTREE,
INDEX `node_id`(`node_id` ASC) USING BTREE,
INDEX `node_code`(`node_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3372 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_schedule
-- ----------------------------
DROP TABLE IF EXISTS `job_schedule`;
CREATE TABLE `job_schedule` (
`schedule_id` bigint NOT NULL AUTO_INCREMENT COMMENT '调度作业主键',
`schedule_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '调度编码,同一调度在不同环境中编码相同',
`schedule_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度作业名称',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`cron` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '定时规则,cron表达式',
`schedule_lifecycle` tinyint(1) NOT NULL COMMENT '调度计划生命周期/状态 \r\n调度编排中:31\r\n调度编排完成:32\r\n调度测试中:41\r\n调度测试完成(通过):42\r\n已发布生产:51\r\n生产测试中:61\r\n生产测试完成(通过):62\r\n已上线:71\r\n已下线:72',
`node_num` int NULL DEFAULT NULL COMMENT '节点总数量',
`job_num` int NULL DEFAULT NULL COMMENT '作业总数量',
`start_time` datetime NULL DEFAULT NULL COMMENT '调度起始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '调度结束时间',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
`raw_data` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '调度任务DAG对象',
`job_id` bigint NOT NULL COMMENT '调度任务Id',
PRIMARY KEY (`schedule_id`) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE,
INDEX `schedule_code`(`schedule_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '调度任务' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for kafka_source
-- ----------------------------
DROP TABLE IF EXISTS `kafka_source`;
CREATE TABLE `kafka_source` (
`kafka_source_id` bigint NOT NULL COMMENT '主键',
`datasource_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源父编码,同一编码在不同环境(DEV/PROD)中相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`datasource_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据源名称,命名规则可为datasource_name + env(BASIC,DEV,TEST,PROD)',
PRIMARY KEY (`kafka_source_id`) USING BTREE,
UNIQUE INDEX `datasource_code`(`datasource_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for node_jobs
-- ----------------------------
DROP TABLE IF EXISTS `node_jobs`;
CREATE TABLE `node_jobs` (
`node_job_id` bigint NOT NULL AUTO_INCREMENT,
`job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '被加入调度中原作业编码,ETL作业或BDM作业',
`job_type` tinyint(1) NOT NULL COMMENT '作业类型,1:ETL Job, 2:BDM Job',
`job_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业名称',
`node_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度节点编码',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`create_time` datetime NOT NULL COMMENT '作业加入时间',
`user_id` bigint NOT NULL COMMENT '作业创建人id',
`user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业创建人名称',
PRIMARY KEY (`node_job_id`) USING BTREE,
INDEX `job_code`(`job_code` ASC, `env` ASC) USING BTREE,
INDEX `node_code`(`node_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 369 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '调度任务点集中的作业' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for opened_worksheet
-- ----------------------------
DROP TABLE IF EXISTS `opened_worksheet`;
CREATE TABLE `opened_worksheet` (
`worksheet_id` bigint NOT NULL AUTO_INCREMENT,
`job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业Code,BDM作业或ETL作业',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`job_type` tinyint(1) NOT NULL COMMENT '作业类型,1:ETL Job, 2:BDM Job',
`job_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Work Sheet名称(作业名称)',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否关闭 ,0:否,1:是(当sheet关闭时,置为1,表示sheet已关闭)',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`closed_time` datetime NULL DEFAULT NULL COMMENT '关闭时间',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`worksheet_id`) USING BTREE,
INDEX `job_code`(`job_code` ASC, `env` ASC) USING BTREE,
INDEX `user_id`(`user_id` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '打开的工作表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for project
-- ----------------------------
DROP TABLE IF EXISTS `project`;
CREATE TABLE `project` (
`project_id` bigint NOT NULL AUTO_INCREMENT COMMENT '项目ID',
`project_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目描述信息',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`tenant_id` bigint NOT NULL COMMENT '创建人所属租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属租户名称【冗余】',
`dept_id` bigint NOT NULL COMMENT '创建人所属部门ID',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人所属部门名称【冗余】',
`user_id` bigint NOT NULL COMMENT '创建人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人名称【冗余】',
PRIMARY KEY (`project_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for region_mapping
-- ----------------------------
DROP TABLE IF EXISTS `region_mapping`;
CREATE TABLE `region_mapping` (
`region_mapping_id` bigint NOT NULL AUTO_INCREMENT COMMENT '业务域和数据域关联映射ID',
`biz_region_id` bigint NOT NULL COMMENT '业务域ID',
`data_region_id` bigint NOT NULL COMMENT '数据域ID',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`region_mapping_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for schedule_edge
-- ----------------------------
DROP TABLE IF EXISTS `schedule_edge`;
CREATE TABLE `schedule_edge` (
`edge_id` bigint NOT NULL AUTO_INCREMENT COMMENT '边ID',
`edge_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '边编码',
`schedule_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度作业编码',
`from_node` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'From节点的code',
`to_node` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'To节点的code',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`is_valid` tinyint NOT NULL DEFAULT 1 COMMENT '依赖调度是否生效效, 1:有效,0:无效',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`edge_id`) USING BTREE,
UNIQUE INDEX `edge_code`(`edge_code` ASC, `env` ASC) USING BTREE,
INDEX `schedule_code`(`schedule_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 396 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '调度任务边集' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for schedule_instance
-- ----------------------------
DROP TABLE IF EXISTS `schedule_instance`;
CREATE TABLE `schedule_instance` (
`schedule_instance_id` bigint NOT NULL AUTO_INCREMENT,
`schedule_instance_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '调度实例编码,每次调度生成一 个唯一编码',
`schedule_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`offset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '截止偏移量',
`exe_status` tinyint(1) NULL DEFAULT NULL COMMENT '运行状态',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`schedule_instance_id`) USING BTREE,
INDEX `schedule_code`(`schedule_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1146 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '调度实例' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for schedule_node
-- ----------------------------
DROP TABLE IF EXISTS `schedule_node`;
CREATE TABLE `schedule_node` (
`node_id` bigint NOT NULL AUTO_INCREMENT,
`schedule_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度作业编码',
`node_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度作业节点编码',
`node_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '节点名称',
`node_type` tinyint NOT NULL COMMENT '1:开始节点,2:作业节点,3:结束节点',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`create_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`node_id`) USING BTREE,
INDEX `schedule_code`(`schedule_code` ASC, `env` ASC) USING BTREE,
INDEX `node_code`(`node_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 438 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '调度任务点集' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for spark_engine_config
-- ----------------------------
DROP TABLE IF EXISTS `spark_engine_config`;
CREATE TABLE `spark_engine_config` (
`config_id` bigint NULL DEFAULT NULL,
`key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`sub_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_auth
-- ----------------------------
DROP TABLE IF EXISTS `storage_auth`;
CREATE TABLE `storage_auth` (
`auth_id` bigint NOT NULL AUTO_INCREMENT,
`storage_id` bigint NOT NULL COMMENT '存储区ID',
`tenant_id` bigint NOT NULL COMMENT '租户ID',
`is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认存储区,0:否,1:是',
`create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`user_id` bigint NOT NULL COMMENT '创建人/授权人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人/授权人名称【冗余】',
PRIMARY KEY (`auth_id`) USING BTREE,
INDEX `tenant_id`(`tenant_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_box
-- ----------------------------
DROP TABLE IF EXISTS `storage_box`;
CREATE TABLE `storage_box` (
`box_id` bigint NOT NULL AUTO_INCREMENT COMMENT '存储箱ID,主键',
`box_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储箱编码,不同环境中编码相同',
`dvs_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '数据空间编码,一个数据空间编码对应一个(Basic模式)或两个datavs(DEV-PROD模式),且编码相同',
`storage_id` bigint NOT NULL COMMENT '存储区ID',
`box_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储箱名称,命名规则为:数据空间英文名+分层(ods/cdm/ads)+env',
`dw_layer` tinyint NULL DEFAULT NULL COMMENT '数据仓库分层,1:ODS,21:DW,31:ADS',
`storage_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储名称(库级别),如果存储在HDFS,则是一个目录的路径,存储在库中为库名',
`storage_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储类型,1:HDFS,2:MySQL,3:ClickHouse,4:Doris',
`env` tinyint NOT NULL COMMENT '数据存储箱环境,1:BASIC、2:DEV、3:TEST、4:PROD',
`storage_format` tinyint NULL DEFAULT NULL COMMENT '存储格式,HDFS存储区时,存储的文件格式。如1:ORC,2:Parquet',
`table_count` int NULL DEFAULT NULL COMMENT '当前存储箱中表的数量',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`box_id`) USING BTREE,
INDEX `dvs_code`(`dvs_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 190 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_type_map
-- ----------------------------
DROP TABLE IF EXISTS `storage_type_map`;
CREATE TABLE `storage_type_map` (
`storage_type_id` tinyint NOT NULL AUTO_INCREMENT COMMENT '存储区类型ID',
`storage_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区类型名称,HDFS存储区,MySQL存储区,Oracle存储区,ClickHouse存储 区,Doris存储区',
`storage_conn_type` tinyint NOT NULL COMMENT '存储区链接类型,1:HDFS,2:JDBC',
`adhoc_query` tinyint NULL DEFAULT NULL COMMENT '即席查询。0:否,1:是',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`storage_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for table_extract
-- ----------------------------
DROP TABLE IF EXISTS `table_extract`;
CREATE TABLE `table_extract` (
`table_extract_id` bigint NOT NULL AUTO_INCREMENT,
`etl_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ETL作业编码,同一作业在不同环境下etl_job_code相同',
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Load至Datavs中的表code,同一表在不同环境(dev/prod)下相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`origin_table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '源表名,数据源中的表',
`origin_table_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源表备注,数据源表中的备注',
`incr_type` tinyint NOT NULL COMMENT '增量类型。0:非增量抽取,1:日期增量,2:数值增量',
`incr_fields` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '增量标记字段,日期增量可多个字段,多个字段之间逗号分隔,数值增量支持单个字段。',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`table_extract_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE,
INDEX `etl_job_code`(`etl_job_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 261 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表输入' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for table_load
-- ----------------------------
DROP TABLE IF EXISTS `table_load`;
CREATE TABLE `table_load` (
`table_load_id` bigint NOT NULL AUTO_INCREMENT,
`etl_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ETL作业编码,同一作业在不同环境下etl_job_code相同',
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Load至Datavs中的表code,同一表在不同环境(dev/prod)下相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`table_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Load至Datavs中的表名称',
`pk_field` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键字段',
`pk_field_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主键字段说明',
`partition_field` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分区字段',
`partition_max_rows` int NULL DEFAULT NULL COMMENT '单分区抽取最多行数',
`storage_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储表名称,帕斯卡命名法则',
`storage_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储表别名,中文名称',
`comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '表备注说明',
`cron` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定时规则,cron表达式',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`table_load_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE,
INDEX `etl_job_code`(`etl_job_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 260 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '表输出' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for table_statistics
-- ----------------------------
DROP TABLE IF EXISTS `table_statistics`;
CREATE TABLE `table_statistics` (
`table_statistics_id` bigint NOT NULL AUTO_INCREMENT,
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`count` int NULL DEFAULT NULL COMMENT '表中记录数,行数',
`size` double NULL DEFAULT NULL COMMENT '表所占空间大小',
`file_count` int NULL DEFAULT NULL COMMENT '文件个数',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`table_statistics_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 768 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for table_storage
-- ----------------------------
DROP TABLE IF EXISTS `table_storage`;
CREATE TABLE `table_storage` (
`table_storage_id` bigint NOT NULL AUTO_INCREMENT,
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`box_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储箱编码,不同环境中编码相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`dbname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '库名,一般同一个regin在同一个库中,既同region_name。',
`storage_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储名称,存储在hdfs中,为存储路径,存储其它库中为表名',
`storage_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储类型,HDFS存储区,MySQL存储区,Oracle存储区,ClickHouse存储 区,Doris存储区',
`storage_format` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据文件格式化类型。JDBC库存储区时,为空\norc:https://orc.apache.org/docs/\nparquet:https://parquet.apache.org/docs/\navro:https://avro.apache.org/docs/1.11.1/\ndelta:https://docs.delta.io/latest/index.html#\nhudi:https://hudi.apache.org/docs/overview\niceberg:https://iceberg.apache.org/docs/latest/\npaimon:https://paimon.apache.org',
`create_time` datetime NOT NULL COMMENT '创建时间',
`last_update_time` datetime NULL DEFAULT NULL COMMENT '最近更新时间',
PRIMARY KEY (`table_storage_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE,
INDEX `box_code`(`box_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 729 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for table_transform
-- ----------------------------
DROP TABLE IF EXISTS `table_transform`;
CREATE TABLE `table_transform` (
`table_transform_id` bigint NOT NULL AUTO_INCREMENT,
`etl_job_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ETL作业编码,同一作业在不同环境下etl_job_code相同',
`table_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Load至Datavs中的表code,同一表在不同环境(dev/prod)下相同',
`env` tinyint NOT NULL COMMENT '环境,0:BASIC、1:DEV、2:PROD',
`in_column` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输入列名',
`transform` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转换',
`out_column` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出列名',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`in_data_type_id` int NULL DEFAULT NULL COMMENT '源字段类型ID',
`in_data_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源字段类型名称',
`out_data_type_id` int NULL DEFAULT NULL COMMENT '输出字段类型ID',
`out_data_type_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输出字段类型名称',
PRIMARY KEY (`table_transform_id`) USING BTREE,
INDEX `table_code`(`table_code` ASC, `env` ASC) USING BTREE,
INDEX `etl_job_code`(`etl_job_code` ASC, `env` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5095 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '转换' ROW_FORMAT = Dynamic;

初始化SQL:

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(1, 'STRING', '字符串', 1, '字符串', '2024-01-09 14:28:28');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(2, 'INT', '整形', 2, '整形', '2024-01-09 14:28:28');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(3, 'DECIMAL', '浮点', 3, '浮点', '2024-01-09 14:28:28');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(4, 'DATE', '日期', 4, '日期', '2024-01-09 14:28:28');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(5, 'DATETIME', '日期时间', 5, '日期时间', '2024-01-09 14:28:28');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(6, 'BIGINT', '长整形', 2, '整形', '2024-01-22 14:29:16');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(7, 'TIMESTAMP', '时间戳', 5, '日期时间', '2024-01-22 14:30:13');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(8, 'SMALLINT', '小整数', 2, '整形', '2024-03-05 20:04:54');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(9, 'BOOLEAN', '布尔', 2, '整形', '2024-03-05 20:06:54');

INSERT INTO data_type_map (data_type_id, data_type_name, data_type_alias, short_data_type_id, short_data_type_alias, create_time) VALUES(10, 'INTEGER', '整数', 2, '整形', '2024-04-16 15:13:02');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(1, 'MySQL', NULL, 1, '关系型数据库', 1, 'Mysql数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(2, 'MariaDB', NULL, 1, '关系型数据库', 1, 'MariaDB数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(3, 'PostgreSQL', NULL, 1, '关系型数据库', 1, 'PostgreSql数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(4, 'SQL Server', NULL, 1, '关系型数据库', 1, 'SQL Server数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(5, 'ORACLE', NULL, 1, '关系型数据库', 1, 'ORACLE数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(6, 'DB2', NULL, 1, '关系型数据库', 1, 'DB2数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(7, 'OCEANBASE', NULL, 1, '关系型数据库', 1, 'OCEANBASE数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(8, 'MongoDB', NULL, 2, 'NoSQL数据库', 1, 'MongoDB数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(9, 'HIVE', NULL, 2, 'NoSQL数据库', 1, 'HIVE数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(10, 'HBASE', NULL, 2, 'NoSQL数据库', 1, 'HBASE数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(11, 'DORIS', NULL, 2, 'NoSQL数据库', 1, 'DORIS数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(12, 'Elasticsearch', NULL, 2, 'NoSQL数据库', 1, 'Elasticsearch数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(13, 'ClickHouse', NULL, 2, 'NoSQL数据库', 1, 'ClickHouse数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(14, 'Kafka', NULL, 3, '消息中间件', 1, 'Kafka数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

INSERT INTO datasource_type_map (datasource_type_id, datasource_type_name, datasource_icon, datasource_category_id, datasource_category_name, is_valid, comment, create_time, update_time) VALUES(15, 'PULSAR', NULL, 3, '消息中间件', 1, 'PULSAR数据库', '2024-01-09 13:36:36', '2024-01-09 13:36:36');

datavs-manage服务

配置文件

bootstrap.properties

server.port=19080
#server.servlet.context-path=/dataverse-manage
spring.application.name=dvs-manage
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
##动态替换 数据库配置
spring.datasource.url=jdbc:mysql://10.25.19.1:3306/nexus_port_dev?useUnicode=true&zeroDateTimeBehavior=convertToNull&autoReconnect=true&characterEncoding=UTF-8&characterSetResults=UTF-8&allowMultiQueries=true&useCursorFetch=true&serverTimezone=Asia/Shanghai
spring.datasource.username=dev
spring.datasource.password=123456
mybatis-plus.mapper-locations=classpath:mapper/*.xml
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
##动态替换 nacos配置
spring.cloud.nacos.discovery.server-addr=10.25.19.3:8848
spring.cloud.nacos.discovery.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.group=standard
##动态替换 nacos配置
spring.cloud.nacos.config.server-addr=10.25.19.3:8848
spring.cloud.nacos.config.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.group=standard

##动态替换 xxl-job配置
## xxl-job配置
xxl.job.admin.addresses=http://10.25.19.1:9080/
xxl.job.executor.appname=dvs-manage
xxl.job.executor.ip=
xxl.job.executor.port=19083
xxl.job.accessToken=
xxl.job.executor.logpath=logs/dvs-manage/xxl-job-executor-logs
xxl.job.executor.logretentiondays=-1
xxl.job.executor.maxConcurrentSize=5
xxl.job.executor.customize-executor-biz-bean-name=jobStatusReceiver
xxl.job.executor.task-timeout=7200
xxl.job.executor.task-fail-retry-count=0

ribbon.ReadTimeout=30000
ribbon.ConnectTimeout=5000
feign.hystrix.enable=false
feign.client.config.default.connectTimeout=5000
feign.client.config.default.readTimeout=30000
feign.httpclient.enabled=true

依赖jar:通过maven打包后上传到指定的目录 例如:/home/hadoop/dataverse/manage

信息

dataverse-manage-service.jar

启动脚本:start.sh

kill -9 `ps -ef |grep dataverse-manage-service |grep -v grep|awk '{print $2}'`



nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./dataverse-manage-service.jar -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &

创建数据库:nexus_port_dev

create database nexus_port_dev default charset utf8mb4 collate utf8mb4_unicode_ci;

创建表SQL:

-- ----------------------------
-- Table structure for dvs_port
-- ----------------------------
DROP TABLE IF EXISTS `dvs_port`;
CREATE TABLE `dvs_port` (
`port_id` bigint NOT NULL AUTO_INCREMENT COMMENT '连接器ID',
`port_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编码,每个Port唯一',
`port_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '连接器名称',
`registry_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '向注册中心注册时的注册编码,唯一',
`group_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组编码,当此编码不为空时,只有指定group_code的才可被对应code的driver链接。属于专属port',
`group_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组名称【冗余】',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接器所在主机名',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接器所在IP',
`port` int NULL DEFAULT NULL COMMENT '连接器绑定的端口号',
`max_driver_conns` int NOT NULL DEFAULT 200 COMMENT 'Driver的最大链接数',
`connected_drivers` int NULL DEFAULT NULL COMMENT '已链接的driver数量',
`state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '连接器状态。BUILD, ONLINE, PAUSE, OFFLINE',
`last_heartbeat` datetime NULL DEFAULT NULL COMMENT '最近心跳时间',
`heartbeat_hz` int NOT NULL DEFAULT 5000 COMMENT '心跳频率,单位毫秒。 默认3000。',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`creator_id` bigint NULL DEFAULT NULL COMMENT '创建人ID',
`creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人姓名【冗余】',
`is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除:0否,1:是',
PRIMARY KEY (`port_id`) USING BTREE,
UNIQUE INDEX `idx_dvs_port_code`(`port_code` ASC) USING BTREE,
UNIQUE INDEX `idx_dvs_registry_key`(`registry_code` ASC) USING BTREE,
INDEX `idx_dvs_port_group_code`(`group_code` ASC) USING BTREE,
INDEX `idx_dvs_port_name`(`port_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Dataverse\'s port' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for engine
-- ----------------------------
DROP TABLE IF EXISTS `engine`;
CREATE TABLE `engine` (
`engine_id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据计算引擎ID',
`storage_id` bigint NOT NULL COMMENT '所属存储区ID',
`engine_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎名称',
`port_id` bigint NULL DEFAULT NULL COMMENT '启动Port的ID',
`port_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '启动Port的编码',
`port_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '启动Port的名称',
`registry_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '向注册中心注册时的注册编码,唯一',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '引擎Driver所在的机器主机名',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎Driver所在的机器IP',
`port` int NOT NULL COMMENT '引擎Driver中server绑定的端口号',
`engine_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎类型,1:Spark, 2: flink',
`engine_jar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '引擎Jar包路径\n',
`dependence_jars` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '依赖的jar包',
`master` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '--master',
`application_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '引擎启动后的AppID',
`application_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'app name',
`engine_state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎状态, SUBMIT, RUNNING, FINISHED',
`submit_jobs` int NULL DEFAULT NULL COMMENT '提交过的作业总数',
`running_jobs` int NULL DEFAULT NULL COMMENT '运行中作业总数',
`pending_jobs` int NULL DEFAULT NULL COMMENT '待处理作业数',
`max_running_job` int NULL DEFAULT NULL COMMENT '最大运行作业数',
`driver_memory` int NULL DEFAULT NULL COMMENT 'Driver内存,单位G',
`driver_cup` int NULL DEFAULT NULL COMMENT 'Driver CPU,单位核',
`executor_memory` int NULL DEFAULT NULL COMMENT '执行器内存,单位G',
`executor_cup` int NULL DEFAULT NULL COMMENT '执行器CPU,单位核',
`executors` int NULL DEFAULT NULL COMMENT '执行器数量',
`deploy_mode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '--deploy-mode',
`queue` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '--queue',
`redirect_out` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'redirect out path',
`redirect_error` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'redirect error path',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '描述信息',
PRIMARY KEY (`engine_id`) USING BTREE,
UNIQUE INDEX `registry_code`(`registry_code` ASC) USING BTREE,
INDEX `storage_id`(`storage_id` ASC) USING BTREE,
INDEX `port_id`(`port_id` ASC) USING BTREE,
INDEX `port_code`(`port_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 123 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '计算引擎注册表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for jdbc_storage
-- ----------------------------
DROP TABLE IF EXISTS `jdbc_storage`;
CREATE TABLE `jdbc_storage` (
`jdbc_storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`storage_id` bigint NOT NULL COMMENT '数据存储区ID',
`storage_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区类型,1:HDFS,2:MYSQL,3:PGSQL,4:ORACLE,5:DORIS,6:STAR_ROCKS,7:CLICKHOUSE,8:ELASTICSEARCH\n',
`jdbc_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接URL',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接用户名',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'JDBC链接密码',
`driver_class` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '驱动类,如MySQL的com.mysql.jdbc.Driver',
`conn_config` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '链接配置JSON,如:{\"serverTimezone\":\"Asia/Shanghai\",\"useUnicode\":\"true\"}\n',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`jdbc_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'JDBC存储区,如MYSQL, PGSQL, ORACLE, DORIS, STAR_ROCKS, CLICKHOUSE, ELASTICSEARCH' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_history
-- ----------------------------
DROP TABLE IF EXISTS `job_history`;
CREATE TABLE `job_history` (
`job_history_id` bigint NOT NULL AUTO_INCREMENT,
`job_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业ID。抽数作业或ETL作业的ID',
`tenant_id` bigint NOT NULL COMMENT '租户ID',
`conn_id` bigint NOT NULL COMMENT 'Connection ID',
`engine_id` bigint NULL DEFAULT NULL COMMENT 'ODPC链接的命令时为计算引擎ID',
`engine_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ODPC链接的命令时为计算引擎名称',
`command_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '命令ID',
`command` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '命令消息体,Json',
`submit_time` datetime NOT NULL COMMENT '作业提交时间',
`running_time` datetime NULL DEFAULT NULL COMMENT '作业开始运行时间',
`finished_time` datetime NULL DEFAULT NULL COMMENT '作业完成时间',
`job_state` tinyint NULL DEFAULT NULL COMMENT '作业状态运行状态',
`message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '作业异常消息',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`job_history_id`) USING BTREE,
INDEX `conn_id`(`conn_id` ASC) USING BTREE,
INDEX `engine_id`(`engine_id` ASC) USING BTREE,
INDEX `command_id`(`command_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '作业运行历史记录表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for job_log
-- ----------------------------
DROP TABLE IF EXISTS `job_log`;
CREATE TABLE `job_log` (
`job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID主键',
`job_id` char(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作业ID',
`log_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志内容',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '记录日志的时间',
PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '作业运行日志表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for odpc_storage
-- ----------------------------
DROP TABLE IF EXISTS `odpc_storage`;
CREATE TABLE `odpc_storage` (
`odpc_storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`storage_id` bigint NOT NULL COMMENT '存储区ID',
`storage_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区类型,0:HDFS,1:MySQL,2:MariaDB,3:Doris,4:ClickHouse,5:Oracle',
`namenodes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Hadoop的NameNode节点, json array [{\"ip\":\"127.0.0.1\", \"host\":\"localhost\"}]',
`resource_managers` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Hadoop的resource managers, json array [{\"ip\":\"127.0.0.1\", \"host\":\"localhost\"}]',
`datanodes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'Hadoop的datanodes, json array [{\"ip\":\"127.0.0.1\", \"host\":\"localhost\"}]',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`storage_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储路径',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`version` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储区的版本号,如HDFS存储区的软件版本,如MySQL的JDBC存储区的版本',
PRIMARY KEY (`odpc_storage_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '自定义ODPC存储区(用自行开发的Spark/Flink Engine),如基于HDFS的存储区+SparkEngine' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for port_conn
-- ----------------------------
DROP TABLE IF EXISTS `port_conn`;
CREATE TABLE `port_conn` (
`port_conn_id` bigint NOT NULL,
`port_id` bigint NULL DEFAULT NULL COMMENT 'Port的ID',
`port_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Port的编码',
`registry_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '向注册中心注册时的注册编码,唯一',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'driver端的IP',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'driver端的hostname',
`state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接状态',
`conn_time` datetime NULL DEFAULT NULL COMMENT '链接时间',
`dis_conn_time` datetime NULL DEFAULT NULL COMMENT '断开链接时间',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
PRIMARY KEY (`port_conn_id`) USING BTREE,
UNIQUE INDEX `registry_code`(`registry_code` ASC) USING BTREE,
INDEX `port_code`(`port_code` ASC) USING BTREE,
INDEX `port_id`(`port_id` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '客户(Driver)端链接Port的链接记录表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for port_event
-- ----------------------------
DROP TABLE IF EXISTS `port_event`;
CREATE TABLE `port_event` (
`port_event_id` bigint NOT NULL COMMENT 'Port的实例ID',
`port_id` bigint NOT NULL COMMENT 'Port ID',
`port_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Port名称',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接器所在主机名',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '连接器所在IP',
`port` int NOT NULL COMMENT '连接器绑定的端口号',
`event` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '事件,START, STOP, EXCEPTION',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`port_event_id`) USING BTREE,
INDEX `port_id`(`port_id` ASC) USING BTREE,
INDEX `port_name`(`port_name` ASC) USING BTREE,
INDEX `ip`(`ip` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Dataverse port event, start/stop/exception ...' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for port_group
-- ----------------------------
DROP TABLE IF EXISTS `port_group`;
CREATE TABLE `port_group` (
`group_id` bigint NOT NULL AUTO_INCREMENT COMMENT '组ID',
`group_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组编码,唯一',
`group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组名',
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`group_id`) USING BTREE,
UNIQUE INDEX `group_code`(`group_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'dataverse port group' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage
-- ----------------------------
DROP TABLE IF EXISTS `storage`;
CREATE TABLE `storage` (
`storage_id` bigint NOT NULL AUTO_INCREMENT COMMENT '存储区ID',
`storage_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区名称,英文名称,唯一',
`storage_alias` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区别名,显示名称',
`storage_abbr` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区简称,英文缩写',
`storage_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区类型,0:HDFS,1:MySQL,2:MariaDB,3:Doris,4:ClickHouse,5:Oracle',
`engine_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎类型,1:Spark, 2: flink,3:非自研引擎(如doris, mysql)',
`conn_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区链接方式,1:ODPC,2:JDBC链接',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存储区描述信息',
`creator_id` bigint NULL DEFAULT NULL COMMENT '创建人ID',
`creator_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人姓名【冗余】',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`is_deleted` tinyint(1) NULL DEFAULT 0,
PRIMARY KEY (`storage_id`) USING BTREE,
UNIQUE INDEX `storage_name`(`storage_name` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_conn
-- ----------------------------
DROP TABLE IF EXISTS `storage_conn`;
CREATE TABLE `storage_conn` (
`storage_conn_id` bigint NOT NULL COMMENT '引擎客户端链接历史记录ID',
`storage_id` bigint NOT NULL COMMENT '存储区ID',
`engine_id` bigint NULL DEFAULT NULL COMMENT '数据计算引擎ID,当为hdfs存储区时,引擎不为空',
`engine_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '引擎名称',
`registry_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '向注册中心注册时的注册编码,唯一',
`port_id` bigint NULL DEFAULT NULL COMMENT 'Port的ID',
`port_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'Port的编码',
`channel_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接的Channel ID',
`ip` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '连接客户端的IP地址, port链接egine时port的ip',
`hostname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '连接客户端的host name, port链接egine时port的host',
`conn_time` datetime NOT NULL COMMENT '连接时间',
`dis_conn_time` datetime NULL DEFAULT NULL COMMENT '断开连接时间',
`state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '链接状态',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
PRIMARY KEY (`storage_conn_id`) USING BTREE,
UNIQUE INDEX `registry_code`(`registry_code` ASC) USING BTREE,
INDEX `storage_id`(`storage_id` ASC) USING BTREE,
INDEX `engine_id`(`engine_id` ASC) USING BTREE,
INDEX `port_id`(`port_id` ASC) USING BTREE,
INDEX `port_code`(`port_code` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Port端链接引擎记录历史' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_port
-- ----------------------------
DROP TABLE IF EXISTS `storage_port`;
CREATE TABLE `storage_port` (
`storage_port_id` bigint NOT NULL AUTO_INCREMENT,
`storage_id` bigint NOT NULL COMMENT 'storage_id',
`conn_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存储区链接方式,1:ODPC,2:JDBC链接',
`engine_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '引擎类型,1:Spark, 2: flink,3:非自研引擎(如doris, mysql)',
`port_id` bigint NOT NULL COMMENT 'port_id',
`port_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'port code',
`port_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'port name【冗余】',
`min_jdbc_conns` int NULL DEFAULT NULL COMMENT 'Port和JDBC存储区间允许创建的最小链接数。',
`max_jdbc_conns` int NULL DEFAULT 2 COMMENT 'Port和JDBC存储区间允许创建的最大链接数。',
`min_odpc_engines` int NULL DEFAULT NULL COMMENT 'ODPC存储区允许创建的最小引擎数',
`max_odpc_engines` int NULL DEFAULT NULL COMMENT 'ODPC存储区允许创建的最大引擎数',
`description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_time` datetime NOT NULL COMMENT '创建时间',
PRIMARY KEY (`storage_port_id`) USING BTREE,
INDEX `storage_id`(`storage_id` ASC) USING BTREE,
INDEX `port_id`(`port_id` ASC) USING BTREE,
INDEX `port_code`(`port_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '存储区和Port映射。指定存储区映射到哪些Port,对应存储区上的命令会提交到对应的Port上进行执行。' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for storage_tenant
-- ----------------------------
DROP TABLE IF EXISTS `storage_tenant`;
CREATE TABLE `storage_tenant` (
`auth_id` bigint NOT NULL AUTO_INCREMENT,
`storage_id` bigint NOT NULL COMMENT '存储区ID',
`tenant_id` bigint NOT NULL COMMENT '租户ID',
`tenant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户名称',
`is_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否默认存储区,0:否,1:是',
`create_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',
`user_id` bigint NOT NULL COMMENT '创建人/授权人ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人/授权人名称【冗余】',
PRIMARY KEY (`auth_id`) USING BTREE,
INDEX `tenant_id`(`tenant_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '授权给租户的存储区' ROW_FORMAT = Dynamic;

服务启动后创建存储区,根据项目需求创建JDBC ODBC存储区

创建完存储区后指定存储区对应的PORT

datavs-gateway服务

配置文件

bootstrap.properties

server.port=19999
spring.application.name=dvs-gateway
##动态替换 nacos配置
spring.cloud.nacos.discovery.server-addr=10.25.19.3:8848
spring.cloud.nacos.discovery.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.group=standard
##动态替换 nacos配置
spring.cloud.nacos.config.server-addr=10.25.19.3:8848
spring.cloud.nacos.config.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.group=standard
nacos.gateway.route.config.data-id=dvs-gateway
nacos.gateway.route.config.group=standard
#spring.cloud.nacos.config.file-extension=json
spring.cloud.gateway.enable=true
spring.cloud.discovery.locator.enabled=true
ribbon.ReadTimeout=3000
ribbon.ConnectTimeout=5000
feign.hystrix.enable=false
feign.client.config.default.connectTimeout=5000
feign.client.config.default.readTimeout=30000
feign.httpclient.enabled=true
spring.main.web-application-type=reactive

nacos配置文件:

dvs-gateway

配置格式TEXT,配置完发布

[{
"id": "dvs-admin",
"order": 0,
"predicates": [{
"args": {
"pattern": "/dvs-admin/**"
},
"name": "Path"
}],
"uri": "lb://dvs-admin",
"filters": [{
"name": "StripPrefix",
"args": {
"parts": 1
}
}]
}, {
"id": "dvs-manage",
"order": 1,
"predicates": [{
"args": {
"pattern": "/dvs-manage/**"
},
"name": "Path"
}],
"uri": "lb://dvs-manage",
"filters": [{
"name": "StripPrefix",
"args": {
"parts": 1
}
}]
}]

依赖jar:通过maven打包后上传到指定的目录 例如:/home/hadoop/dataverse/gateway

启动脚本:start.sh

kill -9 `ps -ef |grep dataverse-gateway. |grep -v grep|awk '{print $2}'`



nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./dataverse-gateway.jar -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &

xxl-job-admin

配置文件:

bootstrap.properties

### web
server.port=28080
server.servlet.context-path=/xxl-job-admin

### actuator
management.server.servlet.context-path=/actuator
management.health.mail.enabled=false

### resources
spring.mvc.servlet.load-on-startup=0
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/

### freemarker
spring.freemarker.templateLoaderPath=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########

### mybatis
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
#mybatis.type-aliases-package=com.xxl.job.admin.core.model

##动态替换 数据库配置
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://10.25.19.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=dev
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=HikariCP
spring.datasource.hikari.max-lifetime=900000
spring.datasource.hikari.connection-timeout=10000
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.validation-timeout=1000

##动态替换 邮件配置
### xxl-job, email
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.from=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory

### xxl-job, access token
xxl.job.accessToken=default_token

### xxl-job, i18n (default is zh_CN, and you can choose "zh_CN", "zh_TC" and "en")
xxl.job.i18n=zh_CN

## xxl-job, triggerpool max size
xxl.job.triggerpool.fast.max=200
xxl.job.triggerpool.slow.max=100

### xxl-job, log retention days
xxl.job.logretentiondays=30


spring.application.name=xxl-job-admin
##动态替换 nacos配置文件
spring.cloud.nacos.discovery.server-addr=10.25.19.3:8848
spring.cloud.nacos.discovery.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.group=standard
##动态替换 nacos配置文件
spring.cloud.nacos.config.server-addr=10.25.19.3:8848
spring.cloud.nacos.config.namespace=323220b1-b5cf-4d12-a704-1e3a0235d12b
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.group=standard

依赖jar:通过maven打包后上传到指定的目录 例如:/home/hadoop/dataverse/xxl-job

启动脚本:start.sh

kill -9 `ps -ef |grep xxl-job-admin |grep -v grep|awk '{print $2}'`



nohup java -Xms512m -Xmx1024m $SKYWORKING_OPTS -jar ./xxl-job-admin.jar -Djava.security.egd=file:/dev/./urandom > nohup.log 2>&1 &

创建数据库:xxl_job

create database xxl_job default charset utf8mb4 collate utf8mb4_unicode_ci;

创建表SQL:

-- ----------------------------
-- Table structure for xxl_job_group
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_group`;
CREATE TABLE `xxl_job_group` (
`id` int NOT NULL AUTO_INCREMENT,
`app_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器AppName',
`title` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器名称',
`address_type` tinyint NOT NULL DEFAULT 0 COMMENT '执行器地址类型:0=自动注册、1=手动录入',
`address_list` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行器地址列表,多地址逗号分隔',
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_info
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_info`;
CREATE TABLE `xxl_job_info` (
`id` int NOT NULL AUTO_INCREMENT,
`job_group` int NOT NULL COMMENT '执行器主键ID',
`job_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`add_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者',
`alarm_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警邮件',
`schedule_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
`schedule_conf` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型',
`misfire_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
`executor_route_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器路由策略',
`executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
`executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
`executor_block_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阻塞处理策略',
`executor_timeout` int NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
`executor_fail_retry_count` int NOT NULL DEFAULT 0 COMMENT '失败重试次数',
`glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE类型',
`glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
`glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE备注',
`glue_updatetime` datetime NULL DEFAULT NULL COMMENT 'GLUE更新时间',
`child_jobid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子任务ID,多个逗号分隔',
`trigger_status` tinyint NOT NULL DEFAULT 0 COMMENT '调度状态:0-停止,1-运行',
`trigger_last_time` bigint NOT NULL DEFAULT 0 COMMENT '上次调度时间',
`trigger_next_time` bigint NOT NULL DEFAULT 0 COMMENT '下次调度时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 38 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_lock
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_lock`;
CREATE TABLE `xxl_job_lock` (
`lock_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '锁名称',
PRIMARY KEY (`lock_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_log
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_log`;
CREATE TABLE `xxl_job_log` (
`id` bigint NOT NULL AUTO_INCREMENT,
`job_group` int NOT NULL COMMENT '执行器主键ID',
`job_id` int NOT NULL COMMENT '任务,主键ID',
`executor_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
`executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
`executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
`executor_sharding_param` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
`executor_fail_retry_count` int NOT NULL DEFAULT 0 COMMENT '失败重试次数',
`trigger_time` datetime NULL DEFAULT NULL COMMENT '调度-时间',
`trigger_code` int NOT NULL COMMENT '调度-结果',
`trigger_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '调度-日志',
`handle_time` datetime NULL DEFAULT NULL COMMENT '执行-时间',
`handle_code` int NOT NULL COMMENT '执行-状态',
`handle_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行-日志',
`alarm_status` tinyint NOT NULL DEFAULT 0 COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',
PRIMARY KEY (`id`) USING BTREE,
INDEX `I_trigger_time`(`trigger_time` ASC) USING BTREE,
INDEX `I_handle_code`(`handle_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3752 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_log_report
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_log_report`;
CREATE TABLE `xxl_job_log_report` (
`id` int NOT NULL AUTO_INCREMENT,
`trigger_day` datetime NULL DEFAULT NULL COMMENT '调度-时间',
`running_count` int NOT NULL DEFAULT 0 COMMENT '运行中-日志数量',
`suc_count` int NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
`fail_count` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `i_trigger_day`(`trigger_day` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 272 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_logglue
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_logglue`;
CREATE TABLE `xxl_job_logglue` (
`id` int NOT NULL AUTO_INCREMENT,
`job_id` int NOT NULL COMMENT '任务,主键ID',
`glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE类型',
`glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
`glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE备注',
`add_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_registry
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_registry`;
CREATE TABLE `xxl_job_registry` (
`id` int NOT NULL AUTO_INCREMENT,
`registry_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`registry_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`registry_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `i_g_k_v`(`registry_group` ASC, `registry_key` ASC, `registry_value` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 279 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for xxl_job_user
-- ----------------------------
DROP TABLE IF EXISTS `xxl_job_user`;
CREATE TABLE `xxl_job_user` (
`id` int NOT NULL AUTO_INCREMENT,
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
`password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`role` tinyint NOT NULL COMMENT '角色:0-普通用户、1-管理员',
`permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `i_username`(`username` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

初始化SQL:


INSERT INTO xxl_job_group (app_name, title, address_type, address_list, update_time) VALUES('dvs-admin', 'dvs-admin', 0, ''[,](http://10.25.19.208:18083/',) '2024-08-09 19:51:31');

INSERT INTO xxl_job_user (username, password, `role`, permission) VALUES('admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);

datavs前端代码

vue打包放到指定的目录 例如:/home/hadoop/danny/dataverse/frontend

路径配置到nginx,nginx配置参考nginx配置