其他分享
首页 > 其他分享> > 不写代码轻松实现数据可视化,这款基于SpringBoot的神器,简直绝了

不写代码轻松实现数据可视化,这款基于SpringBoot的神器,简直绝了

作者:互联网

不写代码轻松实现数据可视化,这款基于SpringBoot的神器,简直绝了!

之前有读者问我有没有什么好用的BI(Business Intelligence)工具?BI工具简单来说就是一种数据可视化工具。今天给大家推荐一款开源的数据可视化工具DataEase,基于SpringBoot实现,集成 Apache Doris + Kettle,可支持超大数据量秒级查询,希望对大家有所帮助!

SpringBoot实战电商项目mall(50k+star)地址:github.com/macrozheng/…

简介

DataEase是一款号称人人可用的开源数据可视化分析工具,在Github上已经有4.1K+Star。致力于帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拽方式快速制作图表,并可以分享给他人。

下面是一张由DataEase生成的可视化大屏,还是挺炫酷的。

架构

作为一款数据可视化工具,DataEase使用了现阶段流行的大数据技术Apache Doris和Kettle,如果你想学习这两种技术的话,这个项目是个不错的选择。

系统架构

DataEase使用的技术栈如下:

技术说明
SpringBoot后端基础框架
MySQL数据存储
Apache Doris一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。
Kettle一款开源的ETL(即数据抽取、转换、装载的过程)工具,纯Java编写,可以实现高效稳定的数据抽取。
Docker容器化部署
Vue前端基础框架
Element前端UI框架

各种技术在DataEase中的使用场景如下:

功能架构

下面是DataEase的功能架构图,从中我们很容易看出使用DataEase我们能做什么。

安装

DataEase提供了安装包,下载安装包,使用安装脚本install.sh即可完成安装,如果你的服务器已经安装了MySQL,需要一些额外的配置。

tar -zxvf dataease-v1.5.2-online.tar.gz
复制代码

# 基础配置
## 安装目录
DE_BASE=/opt
## Service 端口(默认80,大概率冲突)
DE_PORT=8010

# 数据库配置
## 是否使用外部数据库
DE_EXTERNAL_MYSQL=false
## 数据库地址(默认mysql,之前如果用docker安装过mysql建议修改)
DE_MYSQL_HOST=mysql-de
## 数据库端口(默认3306,之前如果用docker安装过mysql建议修改)
DE_MYSQL_PORT=3307
## DataEase 数据库库名
DE_MYSQL_DB=dataease
## 数据库用户名
DE_MYSQL_USER=root
## 数据库密码
DE_MYSQL_PASSWORD=Password123@mysql
复制代码
services:

  dataease:
    image: registry.cn-qingdao.aliyuncs.com/dataease/dataease:v1.5.2
    container_name: dataease
    ports:
      - ${DE_PORT}:8081
    mem_limit: 4096m
    volumes:
      - ${DE_BASE}/dataease/conf:/opt/dataease/conf
      - ${DE_BASE}/dataease/logs:/opt/dataease/logs
      - ${DE_BASE}/dataease/plugins/thirdpart:/opt/dataease/plugins/thirdpart
      - ${DE_BASE}/dataease/data/kettle:/opt/dataease/data/kettle
    depends_on:
      # 如果之前使用Docker安装过mysql,修改名称
      mysql-de:
        condition: service_healthy
    networks:
      - dataease-network

networks:
  dataease-network:
    driver: bridge
    ipam:
      driver: default
      # 默认网段配置可能会冲突,建议修改
      config:
        - subnet: 172.33.0.0/16
          gateway: 172.33.0.1
复制代码
version: '2.1'
services:

  doris-fe:
    image: registry.cn-qingdao.aliyuncs.com/dataease/doris:0.15
    container_name: doris-fe
    networks:
      # 修改为33网段防止冲突
      dataease-network :
        ipv4_address: 172.33.0.198
    restart: always

  doris-be:
    image: registry.cn-qingdao.aliyuncs.com/dataease/doris:0.15
    networks:
      # 修改为33网段防止冲突
      dataease-network :
        ipv4_address: 172.33.0.199
    restart: always
复制代码
version: '2.1'
services:

  mysql-de:
    image: registry.cn-qingdao.aliyuncs.com/dataease/mysql:5.7.36
    # 之前使用Docker安装过mysql,需要修改容器名称
    container_name: mysql-de
    env_file:
      - ${DE_BASE}/dataease/conf/mysql.env
    ports:
      - ${DE_MYSQL_PORT}:3306
    volumes:
      - ${DE_BASE}/dataease/conf/my.cnf:/etc/mysql/conf.d/my.cnf
      - ${DE_BASE}/dataease/bin/mysql:/docker-entrypoint-initdb.d/
      - ${DE_BASE}/dataease/data/mysql:/var/lib/mysql
    networks:
      - dataease-network
复制代码
firewall-cmd --zone=public --add-port=8010/tcp --permanent
firewall-cmd --reload
复制代码
./install.sh
复制代码
➜  dataease-v1.5.2-online ./install.sh 

Stopping doris-fe ... done
Stopping doris-be ... done
Stopping kettle   ... done
Removing doris-fe ... done
Removing doris-be ... done
Removing kettle   ... done
Removing network dataease_dataease-network
======================= 开始安装 =======================
[DATAEASE Log]: 拷贝配置文件模板文件  -> /opt/dataease/conf 
[DATAEASE Log]: 根据安装配置参数调整配置文件 
time: Wed Dec 22 10:59:39 CST 2021
/usr/sbin/getenforce
[DATAEASE Log]: 检测到 Docker 已安装,跳过安装步骤 
[DATAEASE Log]: 启动 Docker  
Redirecting to /bin/systemctl start docker.service
[DATAEASE Log]: 检测到 Docker Compose 已安装,跳过安装步骤 
[DATAEASE Log]: 拉取镜像 
Pulling doris-be ... done
Pulling kettle   ... done
Pulling mysql-de ... done
Pulling dataease ... done
Pulling doris-fe ... done
...省略若干日志
  Name                Command                       State                         Ports              
-----------------------------------------------------------------------------------------------------
dataease   /deployments/run-java.sh         Up (health: starting)   0.0.0.0:8010->8081/tcp           
doris-be   /entrypoint.sh                   Up (healthy)                                             
doris-fe   /entrypoint.sh                   Up (health: starting)                                    
kettle     /opt/kettle/carte.sh kettl ...   Up                                                       
mysql-de   docker-entrypoint.sh mysqld      Up (healthy)            0.0.0.0:3306->3306/tcp, 33060/tcp
[DATAEASE Log]: 服务启动中,请稍候 ... 
[DATAEASE Log]: 服务启动中,请稍候 ... 
[DATAEASE Log]: 【警告】服务在等待时间内未完全启动!请稍后使用 dectl status 检查服务运行状况。 
======================= 安装完成 =======================

请通过以下方式访问:
 URL: http://$LOCAL_IP:8010
 用户名: admin
 初始密码: dataease
复制代码
# 数据库配置
spring.datasource.url=jdbc:mysql://mysql-de:3306/dataease?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
复制代码
docker restart dataease
复制代码

# 查看服务状态
systemctl status dataease
# 启动服务
systemctl start dataease
# 停止服务
systemctl stop dataease
复制代码

使用

使用DataEase可以方便地实现数据可视化,接下来我们以Excel和MySQL中的数据为例,来体验下它的功能。

基本概念

在使用DataEase之前,我们得了解它的一些基本概念,这对使用它会很有帮助。

Excel数据分析

下面我们将从Excel中获取数据,实现仪表板,来体验下DataEase的数据可视化功能。

# 进入内置 MySQL 容器内
docker exec -it mysql-de sh
# 进入 MySQL 容器后,连接 doris-fe
mysql -uroot -h doris-fe -P 9030
# 由于修改了doris的网段,此处也要修改
ALTER SYSTEM ADD BACKEND "172.33.0.199:9050";
SET PASSWORD FOR 'root' = PASSWORD('Password123@doris');
CREATE DATABASE dataease;
复制代码

数据库数据分析

当然DataEase也支持从数据库中导入数据,甚至可以自定义SQL查询,下面我们来体验下它的这些功能。

总结

总的来说,DataEase是一款非常不错的数据可视化工具。它可以让我们不写代码,就轻松实现一些数据可视化的需求,支持从各种数据源和Excel中分析数据。并且它使用了当下流行的大数据分析技术Apache Doris和Kettle,对这些技术感兴趣的朋友也可以尝试下它。

标签:SpringBoot,DE,dataease,可视化,DataEase,mysql,docker,不写,doris
来源: https://blog.csdn.net/q1472750149/article/details/122322071