1. 项目目标
(1)了解superset的概况和特点
(2)掌握直接安装superset
(3)掌握使用docker安装superset
(4)掌握superset的基本使用
2. 项目准备
2.1. 规划节点
主机名 | 主机IP | 节点规划 |
superset | 10.0.1.140 | superset |
2.2. 基础准备
系统镜像:CentOS 7.9
安装包下载网址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
环境准备:docker环境,MySQL数据库
3. 项目实施
3.1. Superset入门
Superset 是一个由 Airbnb 开发并开源的数据可视化工具,目前属于 Apache 软件基金会的孵化项目。它主要设计用于数据分析师,帮助他们通过创建交互式的数据仪表盘来可视化数据。Superset 支持多种数据源,包括但不限于 MySQL、PostgreSQL、SQLite、Druid 等,并且提供了丰富的图表类型以满足不同的数据可视化需求。
3.1.1. Superset的特点
- 数据可视化与交互式看板制作:Superset 允许用户创建交互式的数据看板和报表,将复杂的数据转换为直观的图表,便于理解和分享。
- 丰富的可视化效果:提供多种图表类型,如折线图、柱状图、饼图、热力图等,以及地图可视化,帮助用户以美观的方式展示数据。
- 无代码数据查询与可视化:用户可以通过图形界面进行数据查询和可视化操作,无需编写代码,降低了使用门槛。
- SQL Lab:内置的 SQL Lab 功能强大,支持日常的 SQL 查询、数据清洗以及元数据浏览,非常适合数据分析师和开发人员使用。
- 自定义维度与指标:数据分析师可以快速定义自定义的维度和指标,以适应不同的分析需求。
- 支持大数据中间件和数据库:Superset 支持多种大数据解决方案和数据库,适合企业级生产环境。
- 内存异步缓存和查询:通过无缝衔接的内存异步缓存机制,提高查询效率,优化用户体验。
- 高度定制化的安全模型:提供细粒度的安全和权限模型,允许配置复杂的访问规则,决定不同用户对产品功能和数据集的访问权限。
- 自定义登录验证:支持多种登录验证方式,包括数据库、OpenID、LDAP、OAuth、REMOTE_USER 等,满足不同企业的认证需求。
- 可视化组件自定义:允许用户根据需要自定义可视化组件,提供个性化的数据展示方式。
- 后端 API 支持:提供丰富的后端 API,方便进行定制化开发和集成。
- 云原生架构:设计考虑了云环境的部署,支持高可用架构,适合云原生应用场景。
Superset 的安装可以通过多种方式进行,包括直接安装、使用 Docker 容器化安装等。
3.2. 直接安装Superset
3.2.1. 安装Python环境
1)下载Miniconda(Python3版本)
mkdir /opt/soft
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
2)安装Miniconda
bash Miniconda3-latest-Linux-x86_64.sh
回车之后,一直按空格,提示Please answer 'yes' or 'no':' 输入yes。
指定安装路径/opt/soft/conda,回车默认
>>>/opt/soft/conda
PREFIX=/opt/soft/conda
初始化conda3,输入yes
Do you wish the installer to initialize Miniconda3
[no] >>> yes
3) 配置系统环境变量
vim /etc/profile
export CONDA_HOME=/opt/soft/conda
export PATH=$PATH:$CONDA_HOME/bin
source /etc/profile
source ~/.bashrc
可以发现前面多了(base),python版本是3.11
4)取消激活base环境
conda config --set auto_activate_base false
5)查看conda版本
conda --version
conda 24.3.0
6)配置conda国内镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
conda config --show channels
7)创建python3.9环境
conda create --name superset python=3.9
y
8)激活superset环境
conda activate superset
若要退出环境使用以下命令:
conda deactivate
3.2.2. Superset部署
1)安装准备依赖
sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
2)安装setuptools和pip
pip install --upgrade setuptools pip
3)安装supetest
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
4)初始化数据库
superset db upgrade
5)创建管理员用户
export FLASK_APP=superset
superset fab create-admin
Username [admin]:
User first name [admin]:
User last name [user]:
Email [admin@fab.org]:
Password:
Repeat for confirmation:
Recognized Database Authentications.
6)Superset初始化
superset init
7)安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
8)启动superset
gunicorn --workers 5 --timeout 120 --bind [ip]:[port] "superset.app:create_app()" --daemon
[ip]:[port],ip填本机ip,port填想部署到的端口。并开放这个端口。
若要停止superset使用以下命令:
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
9)登录 Superset
访问 [ip]:[port],并使用前面创建的管理员账号进行登录。
现在还没有数据,所以是空的。
3.3. 使用docker安装Superset
Docker 下载并查看superset镜像
docker search superset
docker pull apache/superset
docker images
运行superset并挂载到本地/opt/superset:
mkdir /opt/superset
docker run --name my_superset -d -p 8088:8088 -v /opt/superset:/home/superset apache/superset
进入容器:
docker ps
docker exec -it my_superset /bin/bash
初始化数据库和superset
superset db upgrade
superset init
superset 设置管理员账户
export FLASK_APP=superset
flask fab create-admin
设置superset 管理员账户为:admin 密码:123456
3.4. Superset基础使用
3.4.1. 导入数据库
导入准备好的数据库表:
mysql -uroot -p000000 < mysqldemo.sql
登录superset后,依次单击“Date”>“Databases”>“+DATABASE”
可以选择直接填写信息,然后单击“connect”
或者使用URL的填写方式:(填写格式:mysql://{username}:{password}@{host}/{database})
这里我设置名字为mysqldemo,连接成功后可以查看到刚刚添加的数据库。
3.4.2. 拉取库
依次单击“Date”>“Datasets”>“+DATASET”添加数据源
依次选择“数据源”>“数据库”>“表”。
将所有的源添加好。
3.4.3. 创建仪表盘
依次点击“Dashboard”>“+Dashboard”
单击顶部名称修改,可以选择拖动组件和图表自定义看板,自定义完毕后点击“保存”。
添加完毕后,如图所示。
3.4.4. 创建图表
依次点击“charts”>“+图表”
依次“选择数据源”>“选择图表样式”>“创建图表”
输入查询条件,限定分组和指标,可以根据参考右下角的数据。设置完成后点击执行。
设置完成之后单击“保存”,依次设置图表名称和添加到的看板。
可以到添加到的看板查看刚刚添加的图表。
3.4.5. 可视化(图表)的实时刷新
进入到图表依次点击“...”>“设置自动刷新”
设置刷新间隔:
3.4.6. 用户权限管理
进入用户列表:
单击"+"添加。
设置用户名密码等信息,设置角色可以分组进行权限限制。
进入角色列表进行添加:
设置名称,添加权限,例如只给予read权限。
4. 项目总结
本博客简要介绍了superset这个BI工具,使用两种方法来部署superset,并简单介绍了superset的使用。