1、Superset背景
1.1、Superset概述
Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。
![在这里插入图片描述](https://img-blog.csdnimg.cn/878dd0b95cad4355ac4460214bc555f6.png)
1.2、环境说明
本案例使用的服务器操作系统为CentOS 7,Superset对接的数据源为MySQL数据库。
2、Superset安装
Superset官网地址:http://superset.apache.org/
2.1、安装Python环境
Superset是由Python语言编写的Web应用,要求Python3.7的环境。
2.1.1、安装Miniconda
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python,在此处,不需要如此多的工具包,故选择MiniConda。
2.1.1.1、下载Miniconda(Python3版本)
下载地址:
2.1.1.2、安装Miniconda
- 执行以下命令进行安装,并按照提示操作,直到安装完成。
[song@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh
-
在安装过程中,出现以下提示时,可以指定安装路径
![在这里插入图片描述](https://img-blog.csdnimg.cn/7aac216474644b4f96ed7c8d1b5efae6.png)
-
出现以下字样,即为安装完成
![在这里插入图片描述](https://img-blog.csdnimg.cn/6c32f01a74fb4fa689f84c6343bfaa32.png)
2.1.1.3、加载环境变量配置文件,使之生效
[song@hadoop102 lib]$ source ~/.bashrc
![在这里插入图片描述](https://img-blog.csdnimg.cn/01b9e489684e421cb0ceca96e692cd4d.png)
2.1.1.4、取消激活base环境
Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境。
[song@hadoop102 lib]$ conda config --set auto_activate_base false
![在这里插入图片描述](https://img-blog.csdnimg.cn/7ac916f81619458eae8d3f5ba6dcdceb.png)
2.1.2、创建Python3.7环境
2.1.2.1、配置conda国内镜像
[song@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
[song@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
[song@hadoop102 ~]$ conda config --set show_channel_urls yes
2.1.2.2、创建Python3.7环境
[atguigu@hadoop102 ~]$ conda create --name superset python=3.7
- 说明:conda环境管理常用命令
- 创建环境:conda create -n env_name
- 查看所有环境:conda info --envs
- 删除一个环境:conda remove -n env_name --all
2.1.2.3、激活superset环境
[song@hadoop102 ~]$ conda activate superset
![在这里插入图片描述](https://img-blog.csdnimg.cn/296ebc3539584684af6eb87df762438c.png)
2.1.2.4、退出superset环境
(superset) [song@hadoop102 ~]$ conda deactivate
![在这里插入图片描述](https://img-blog.csdnimg.cn/9af7505647f649b781e087b2e42a6c1d.png)
2.1.2.5、执行python命令查看python版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/3df574ce851a41209e29baccea17c123.png)
2.2、Superset部署
2.2.1、安装依赖
安装Superset之前,需安装以下所需依赖。
(superset) [song@hadoop102 ~]$ 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
2.2.2.1、安装(更新)setuptools和pip
(superset) [song@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
说明:pip是python的包管理工具,可以和centos中的yum类比。
2.2.2.2、安装Supetset
(superset) [song@hadoop102 ~]$ pip install apache-superset -i https://pypi.douban.com/simple/
说明:-i的作用是指定镜像,这里选择国内镜像。
注:如果遇到网络错误导致不能下载,可尝试更换镜像。
(superset) [song@hadoop102 ~]$ pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
2.2.2.3、初始化Supetset数据库
(superset) [song@hadoop102 ~]$ superset db upgrade
如果初始化数据库报错如下。
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd880645af964829862bf336bba3527a.png)
则执行如下命令,将markupsafe依赖的版本回退到 2.0.1。
(superset) [song@hadoop102 ~]$ pip install --force-reinstall MarkupSafe==2.0.1
创建管理员用户
(superset) [song@hadoop102 ~]$ export FLASK_APP=superset
(superset) [song@hadoop102 ~]$ superset fab create-admin
说明:flask是一个python web框架,Superset使用的就是flask,会在此创建用户名、密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/805e9d0835db42d3b6f56d6baa11dded.png)
Superset初始化
(superset) [song@hadoop102 ~]$ superset init
![在这里插入图片描述](https://img-blog.csdnimg.cn/d4986ff26d1442cdba7ec281d6abc184.png)
2.2.3、启动Supterset
2.2.3.1、安装gunicorn
(superset) [song@hadoop102 ~]$ pip install gunicorn -i https://pypi.douban.com/simple/
![在这里插入图片描述](https://img-blog.csdnimg.cn/0553abbc659f4d529cdd66b273d51789.png)
gunicorn是一个Python Web Server,可以和java中的TomCat类比。
2.2.3.2、启动Superset
- 确保当前conda环境为superset
- 启动
(superset) [song@hadoop102 ~]$ gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 "superset.app:create_app()" --daemon
-
登录Superset
访问http://hadoop102:8787,并使用之前创建的管理员账号进行登录。
![在这里插入图片描述](https://img-blog.csdnimg.cn/ad6f4170f7a845a69efc25fc8b42e194.png)
-
停止superset
停掉gunicorn进程。
(superset) [song@hadoop102 ~]$ ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
退出superset环境。
(superset) [song@hadoop102 ~]$ conda deactivate
2.2.3.3、编写Superset启动、停止脚本
- 编写内容
superset_status(){
result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
if [[ $result -eq 0 ]]; then
return 0
else
return 1
fi
}
superset_start(){
source ~/.bashrc
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
conda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'
else
echo "superset正在运行"
fi
}
superset_stop(){
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
fi
}
case $1 in
start )
echo "启动Superset"
superset_start
;;
stop )
echo "停止Superset"
superset_stop
;;
restart )
echo "重启Superset"
superset_stop
superset_start
;;
status )
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
echo "superset正在运行"
fi
esac
- 添加权限
chmod +x superset.sh
3、Superset使用
3.1、对接MySQL数据源
3.1.1、安装依赖
(superset) [atguigu@hadoop102 ~]$ conda install mysqlclient
说明:对接不同的数据源,需安装不同的依赖,以下地址为官网说明。
https://superset.apache.org/docs/databases/installing-database-drivers
3.1.2、重启Superset
(superset) [atguigu@hadoop102 ~]$ superset.sh restart
3.1.3、数据源配置
3.1.3.1、Database配置
- 点击Data/Databases。
![在这里插入图片描述](https://img-blog.csdnimg.cn/13a4e7e1db8a4c6d9131de0897379513.png)
- 点击+DATABASE
![在这里插入图片描述](https://img-blog.csdnimg.cn/d3bb6d79f66e4d048a1d29a826c9ca69.png)
- 点击填写Database及SQL Alchemy URI
注:SQL Alchemy URI编写规范:mysql://用户名:密码@主机名:端口号/数据库名称。
此处填写:
mysql://root:000000@hadoop102:3306/gmall_report?charset=utf8
- 测试连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/5f3ca5e0925f4e34a609c76226374c18.png)
- 点击保存
![在这里插入图片描述](https://img-blog.csdnimg.cn/0bd3184c256b48b9a2fd1113fd3c7fbd.png)
3.1.3.2、Table配置
-
点击Data/Datasets
![在这里插入图片描述](https://img-blog.csdnimg.cn/97fdee3340464b5798458ae41066a823.png)
-
点击Data/ Datasets
![在这里插入图片描述](https://img-blog.csdnimg.cn/2403816e3aac4a5ea1fc51bcb7b56978.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/04f2bd54282246558ab9601c9a2d1355.png)
3.2、制作仪表盘
3.2.1、创建空白仪表盘
-
点击Dashboards/+DASHBOARDS
![在这里插入图片描述](https://img-blog.csdnimg.cn/8d8d28f3eb414d4d88b2f7e3566fa763.png)
-
命名并保存
![在这里插入图片描述](https://img-blog.csdnimg.cn/dd1db827843d4df0ac4724600faae421.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2e1876a977d344b1a1870c6aee1793a0.png)
3.2.2、创建图表
-
点击Charts/+CHART
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a36df2a7e2d4dbfbf5e1e58e751557f.png)
-
选择何使的图表类型,创建图表
![在这里插入图片描述](https://img-blog.csdnimg.cn/dafe835148fb4ab8a2d7edc7851c0ed9.png)
-
按照说明配置图表
![在这里插入图片描述](https://img-blog.csdnimg.cn/0b9720236c744003974afedd69352b04.png)
-
点击“Run Query”
![在这里插入图片描述](https://img-blog.csdnimg.cn/e92887acfa714e25a09221d4a4984697.png)
-
如配置无误,可出现以下图标
![在这里插入图片描述](https://img-blog.csdnimg.cn/1d22dfa03dd54c71a48749054d723f17.png)
-
命名该图表,并保存至仪表盘
![在这里插入图片描述](https://img-blog.csdnimg.cn/3edca734d31c40dc92d7c940aa1ac137.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/7f40f8932a5142d3bec281d2328a1ec1.png)
3.2.3、编辑仪表盘
-
打开仪表盘,点击编辑按钮
![在这里插入图片描述](https://img-blog.csdnimg.cn/b2a3fa08ff624aa5a3afd6fa752db7ea.png)
-
调整图表大小以及图表盘布局
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a77491808c243468174f64e55cb4fcb.png)
-
点击下图中箭头,可调整仪表盘自动刷新时间
![在这里插入图片描述](https://img-blog.csdnimg.cn/5ae27c4dd1a44a25b96891d9256c6b95.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)