dataease源码解读

背景介绍

数据的展示,是数据的核心产出之一。很多企业通过自建、或者购买第三方的可视化平台,去实现数据的可视化。目前开源代码dataease,就能实现这一功能。
DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便地与他人分享。

  1. 丰富的数据源连接
    dataease支持jdbc数据库, 并且支持非关系型数据库
    • hive
    • mysql
    • oracle
    • es
    • api接口
    • 文件
  2. 快速制作图表
    能快速的获取表结构,并且通过托拉拽,快速生产sql获取数据。

架构

下图可以看出,数据源、数据集的管理是底座核心模块。
在这里插入图片描述

dataease源码解读

  1. 丰富的数据源连接,主要是数据源的管理
  2. 快速制作图表,数据集的管理

数据源管理代码解读

主要是解读DatasourceController中的接口
在这里插入图片描述

新增数据源

    @RequiresPermissions("datasource:read")
    @DePermission(type = DePermissionType.DATASOURCE, value = "id")
    @ApiOperation("新增数据源")
    @PostMapping("/add")
    @DeLog(
            operatetype = SysLogConstants.OPERATE_TYPE.CREATE,
            sourcetype = SysLogConstants.SOURCE_TYPE.DATASOURCE,
            positionIndex = 0, positionKey = "type",
            value = "id"
    )
    public Datasource addDatasource(@RequestBody Datasource datasource) throws Exception {
        return datasourceService.addDatasource(datasource);
    }

DatasourceService,主要有两个步骤检查数据源状态增加本地线程池在这里插入图片描述
检查数据源状态
在这里插入图片描述
检查数据源状态 - 获取provider
如果是doris、mysql引擎的话,直接用jdbc。基于类型分别选择es、api、jdbc。最后找不到类型的话选择该类型的bean。
在这里插入图片描述
检查数据源状态 apiProvider的检查实现

对于api类型的provider,执行http请求
在这里插入图片描述

在这里插入图片描述
检查数据源状态 esProvider的检查实现
对于es类型的provider,直接对es的节点做一个get请求
在这里插入图片描述
在这里插入图片描述
检查数据源状态 jdbcProvider的检查实现
对于jdbc类型的provider,查看相应的show tables 的sql(但是并没有保存结果,感觉不如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值