superset可视化
创始人
2025-05-28 16:44:19

第 1 章 Superset 入门

1.1 环境说明

本课程使用的服务器操作系统为 CentOS 7,Superset 对接的数据源为 MySQL 数据库。

第 2 章 Superset 安装

Superset 官网地址:http://superset.apache.org/

2.1 安装 Python 环境

Superset 是由 Python 语言编写的 Web 应用,要求 Python3.8 的环境。

2.1.1 安装 Miniconda

conda 是一个开源的包、环境管理器,可以用于在同一个机器上安装不同 Python 版本的软件包及其依赖,并能够在不同的 Python 环境之间切换,Anaconda 包括 Conda、Python 以及一大堆安装好的工具包,比如:numpy、pandas 等,Miniconda 包括 Conda、Python。

此处,我们不需要如此多的工具包,故选择 MiniConda。

1)下载 Miniconda(Python3 版本)

下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

2)安装 Miniconda

(1)执行以下命令进行安装,并按照提示操作,直到安装完成。

[atguigu@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh

(2)在安装过程中,出现以下提示时,可以指定安装路径

(3)出现以下字样,即为安装完成

3)加载环境变量配置文件,使之生效

[atguigu@hadoop102 lib]$ source ~/.bashrc

4)取消激活 base 环境

Miniconda 安装完成后,每次打开终端都会激活其默认的 base 环境,我们可通过以下命令,禁止激活默认 base 环境。

[atguigu@hadoop102 lib]$ conda config --set auto_activate_base false

2.1.2 创建 Python3.8 环境

1)配置 conda 国内镜像

(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

2)创建 Python3.8 环境

(base) [atguigu@hadoop102 ~]$ conda create --name superset python=3.8

说明:conda 环境管理常用命令

创建环境:conda create -n env_name python=3.8
查看所有环境:conda info --envs
删除一个环境:conda remove -n env_name --all

3)激活 superset 环境

(base) [atguigu@hadoop102 ~]$ conda activate superset

激活后效果如下图所示

说明:退出当前环境

(superset) [atguigu@hadoop102 ~]$ conda deactivate

4)执行 python 命令查看 python 版本

python -V

2.2 Superset 部署

2.2.1 安装依赖

安装 Superset 之前,需安装以下所需依赖


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.2.2 安装 Superset

1)安装(更新)setuptools 和 pip

pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/

说明:pip 是 python 的包管理工具,可以和 centos 中的 yum 类比

2)安装 Superset

superset要指定版本

pip install apache-superset==1.4.2 -i https://pypi.douban.com/simple/

说明:-i 的作用是指定镜像,这里选择国内镜像

**注:**如果遇到网络错误导致不能下载,可尝试更换镜像

pip install apache-superset==1.4.2 --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple

3)依赖降级

pip uninstall werkzeyg
pipinstall werkzeug==1.0.1pip uninstallmarkupsafe
pip install markupsafe==2.0.1pip install --upgrade cryptography==3.2

4)初始化数据库之前先执行

export FLASK APP=superset

5)初始化 Superset 数据库

(superset) [atguigu@hadoop102 ~]$ superset db upgrade

6)创建管理员用户

(superset) [atguigu@hadoop102 ~]$ superset fab create-admin

声明FLASK 环境变量的原因

说明:flask 是一个 python web 框架,Superset 使用的就是 flask

7)Superset 初始化

(superset) [atguigu@hadoop102 ~]$ superset init

2.2.3 启动 Supterset

1)安装 gunicorn

web 容器的安装

(superset) [atguigu@hadoop102 ~]$ pip install gunicorn -i https://pypi.douban.com/simple/

说明:gunicorn 是一个 Python Web Server,可以和 java 中的 TomCat 类比

2)启动 Superset

(1)确保当前 conda 环境为 superset,及下图所

(2)启动

gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 "superset.app:create_app()" --daemon

说明:

--workers:指定进程个数

--timeout:worker 进程超时时间,超时会自动重启

--bind:绑定本机地址,即为 Superset 访问地址

--daemon:后台运行

(3)登录 Superset

访问 http://hadoop102:8787,并使用 2.2.2 节中第 4 步创建的管理员账号进行登录。

3)停止 superset

停掉 gunicorn 进程

(superset) [atguigu@hadoop102 ~]$ ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9

退出 superset 环境

conda deactivate

2.2.4 superset 启停脚本

1)创建 superset.sh 文件

[atguigu@hadoop102 bin]$ vim superset.sh

内容如下

#!/bin/bash
superset_status(){result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`if [[ $result -eq 0 ]]; thenreturn 0elsereturn 1fi
}
superset_start(){source ~/.bashrcsuperset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenconda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'elseecho "superset 正在运行"fi
}
superset_stop(){superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset 未在运行"elseps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9fi
}
case $1 instart )echo "启动 Superset"superset_start;;stop )echo "停止 Superset"superset_stop;;restart )echo "重启 Superset"superset_stopsuperset_start;;status )superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset 未在运行"elseecho "superset 正在运行"fi
esac

2)加执行权限

[atguigu@hadoop102 bin]$ chmod +x superset.sh

3)测试

启动 superset

superset.sh start

停止 superset

superset.sh stop

第 3 章 Superset 使用

加载测试数据进库即可

3.2 对接 MySQL 数据源

3.2.1 安装依赖

(superset) [atguigu@hadoop102 ~]$ conda install mysqlclient

说明:对接不同的数据源,需安装不同的依赖,以下地址为官网说明

https://superset.apache.org/docs/databases/installing-database-drivers

3.2.2 重启 Superset

(superset) [atguigu@hadoop102 ~]$ superset.sh restart

3.2.3 数据源配置

1)Database 配置

Step2:点击+DATABASE

Step3:点击填写 Database 及 SQL Alchemy URI

注:SQL Alchemy URI 编写规范:mysql://用户名:密码@主机名:端口号/数据库名称此处填写:

mysql://root:000000@hadoop102:3306/gmall_report?charset=utf8

Step4:点击 Test Connection,出现“Connection looks good!”提示即表示连接成功

Step5:点击 ADD

2)Table 配置

Step1:点击 Data/Datasets

Step2:点击 Data/ Datasets

Step3:配置 Table

4)所有 table 配置完毕,如下图所示

3.3 制作仪表盘

3.3.1 创建空白仪表盘

1)点击 Dashboards/+DASHBOARDS

2)命名并保存

3.3.2 创建图表

1)点击 Charts/+CHART

2)选则数据源及图表类型

3)选择何使的图表类型

4)创建图表

5)按照说明配置图表

6)点击“Run Query”

7)如配置无误,可出现以下图表

8)命名该图表,并保存至仪表盘

3.3.3 查看仪表盘

1)点击“Dashboards”→“数据可视化”

2)查看仪表盘

第 4 章 Superset 实战

4.1 制作地图

1)创建 Chart

2)配置 Chart

4.2 制作柱状图

1)创建 Chart

2)配置 Chart

4.3 制作饼状图

1)创建 Chart

2)配置 Chart

4.4 仪表盘布局

4.4.1 布局调整

1)点击编辑按钮

2)使用行列组件预先布局

3)拖动图表到指定坑位

4)最终结果

4.4.2 自动刷新

1)点击配置按钮

2)选择刷新时间间隔

3)保存配置(完成)

相关内容

热门资讯

【实验报告】实验一 图像的... 实验目的熟悉Matlab图像运算的基础——矩阵运算;熟悉图像矩阵的显示方法࿰...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
大模型落地比趋势更重要,NLP... 全球很多人都开始相信,以ChatGPT为代表的大模型,将带来一场NLP领...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
kuernetes 资源对象分... 文章目录1. pod 状态1.1 容器启动错误类型1.2 ImagePullBackOff 错误1....
STM32实战项目-数码管 程序实现功能: 1、上电后,数码管间隔50ms计数; 2、...
TM1638和TM1639差异... TM1638和TM1639差异说明 ✨本文不涉及具体的单片机代码驱动内容,值针对芯...
Qt+MySql开发笔记:Qt... 若该文为原创文章,转载请注明原文出处 本文章博客地址:https://h...
Java内存模型中的happe... 第29讲 | Java内存模型中的happen-before是什么? Java 语言...
《扬帆优配》算力概念股大爆发,... 3月22日,9股封单金额超亿元,工业富联、鸿博股份、鹏鼎控股分别为3.0...
CF1763D Valid B... CF1763D Valid Bitonic Permutations 题目大意 拱形排列࿰...
SQL语法 DDL、DML、D... 文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3....
文心一言 VS ChatGPT... 3月16号,百度正式发布了『文心一言』,这是国内公司第一次发布类Chat...
CentOS8提高篇5:磁盘分...        首先需要在虚拟机中模拟添加一块新的硬盘设备,然后进行分区、格式化、挂载等...
Linux防火墙——SNAT、... 目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条...
部署+使用集群的算力跑CPU密... 我先在开头做一个总结,表达我最终要做的事情和最终环境是如何的,然后我会一...
Uploadifive 批量文... Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的...
C++入门语法基础 文章目录:1. 什么是C++2. 命名空间2.1 域的概念2.2 命名...
2023年全国DAMA-CDG... DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义...
php实现助记词转TRX,ET... TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的...
【分割数据集操作集锦】毕设记录 1. 按要求将CSV文件转成json文件 有时候一些网络模型的源码会有data.json这样的文件里...
Postman接口测试之断言 如果你看文字部分还是不太理解的话,可以看看这个视频,详细介绍postma...
前端学习第三阶段-第4章 jQ... 4-1 jQuery介绍及常用API导读 01-jQuery入门导读 02-JavaScri...
4、linux初级——Linu... 目录 一、用CRT连接开发板 1、安装CRT调试工具 2、连接开发板 3、开机后ctrl+c...
Urban Radiance ... Urban Radiance Fields:城市辐射场 摘要:这项工作的目标是根据扫描...
天干地支(Java) 题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个,分别为:...
SpringBoot雪花ID长... Long类型精度丢失 最近项目中使用雪花ID作为主键,雪花ID是19位Long类型数...
对JSP文件的理解 JSP是java程序。(JSP本质还是一个Servlet) JSP是&#...
【03173】2021年4月高... 一、单向填空题1、大量应用软件开发工具,开始于A、20世纪70年代B、20世纪 80年...
LeetCode5.最长回文子... 目录题目链接题目分析解题思路暴力中心向两边拓展搜索 题目链接 链接 题目分析 简单来说࿰...