文章目录
- 一、Superset入门与安装
- 1、Superset概述
- 2、安装Python环境
- 2.1 安装Miniconda
- 2.2 创建Python3.7环境
- 3、Superset部署
- 3.1 安装Superset
- 3.2 启动Supterset
- 3.3 superset启停脚本
- 4、docker部署
- 二、Superset使用与实战
- 1、对接MySQL数据源
- 2、制作仪表盘与图表
一、Superset入门与安装
1、Superset概述
Superset官网地址:http://superset.apache.org/
Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘
2、安装Python环境
2.1 安装Miniconda
Superset是由Python语言编写的Web应用,要求Python3.7的环境
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 将路径放到/opt/module/miniconda3下
# 成功后重启shell
# 查看python版本
python -V# 加载环境变量配置文件,使之生效也可以
source ~/.bashrc
# 取消激活base环境
# Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境
conda config --set auto_activate_base false
2.2 创建Python3.7环境
# 配置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 --set show_channel_urls yes# 创建Python3.7环境
conda activate
conda create --name superset python=3.7
conda activate superset
# 退出当前环境
conda deactivate
3、Superset部署
https://superset.apache.org/docs/installation/installing-superset-from-scratch
docker安装更方便,这里演示二进制包安装
3.1 安装Superset
# 安装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# 安装Superset
# 安装(更新)setuptools和pip
pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
# 安装Supetset
# -i的作用是指定镜像,这里选择国内镜像
pip install apache-superset -i https://pypi.douban.com/simple/
# 如果遇到网络错误导致不能下载,可尝试更换镜
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
# 初始化Supetset数据库
superset db upgrade
# 一些常见错误可以参考:https://blog.csdn.net/zgzdqq/article/details/127996901
# 这里花了好久,反正就是缺啥补啥,都是版本依赖问题
# markupsafe依赖的版本回退到 2.0.1(报错ImportError: cannot import name 'soft_unicode' from 'markupsafe回退)
# pip install --force-reinstall MarkupSafe==2.0.1# 创建管理员用户
# 说明:flask是一个python web框架,Superset使用的就是flask
export FLASK_APP=superset
superset fab create-admin
# Superset初始化
superset init
3.2 启动Supterset
# gunicorn是一个Python Web Server,可以和java中的TomCat类比
pip install gunicorn -i https://pypi.douban.com/simple/# 启动Superset,确保当前conda环境为superset
gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 "superset.app:create_app()" --daemon
# workers:指定进程个数
# timeout:worker进程超时时间,超时会自动重启
# bind:绑定本机地址,即为Superset访问地址
# daemon:后台运行# 登录Superset
# 访问http://hadoop102:8787# 停止superset
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
conda deactivate
3.3 superset启停脚本
vim superset.sh
#!/bin/bashsuperset_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
加执行权限
chmod +x superset.sh
superset.sh start
4、docker部署
其他可以参考官网:https://superset.apache.org/docs/installation/installing-superset-using-docker-compose
首先安装好docker依赖
docker pull amancevice/superset
# 创建存储superset数据配置所需文件夹
mkdir -p /opt/module/superset/conf
mkdir -p /opt/module/superset/data# 运行superset容器
docker run --name superset -u 0 -d -p 17077:8088 \
-v /opt/module/superset/conf:/etc/superset \
-v /opt/module/superset/data:/var/lib/superset amancevice/superset:latest# 初始化superset数据库
docker exec -it superset superset db upgrade
# 创建superset管理员用户
docker exec -it superset superset fab create-admin
# 初始化superset
docker exec -it superset superset init
# 开启服务
docker exec -it superset superset run --with-threads --reload --debugger
# 浏览器地址栏输入 IP:17077/login
二、Superset使用与实战
1、对接MySQL数据源
对接不同的数据源,需安装不同的依赖,以下地址为官网说明:https://superset.apache.org/docs/databases/installing-database-drivers
conda install mysqlclient
superset.sh restart
然后配置数据源配置,配置数据源,然后导入dataset
2、制作仪表盘与图表
点击Dashboards/+DASHBOARDS制作空白仪表盘;然后创建图表,点击Charts/+CHART,选则数据源及图表类型,下面是一些图配置,具体的操作详见官网
制作地图,报表为ads_order_count_by_province
制作饼状图,报表为ads_order_count_by_category