1.Superset概述
Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。
2. Superset应用场景
由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。
3.Superset安装及使用
3.1 安装Python环境
Superset是由Python语言编写的Web应用,要求Python3.7的环境。
3.2 安装Miniconda
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。此处,我们不需要如此多的工具包,故选择MiniConda。
- 下载Miniconda(Python3版本)
下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - 安装Miniconda
(1)执行以下命令进行安装,并按照提示操作,直到安装完成。
[atguigu@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh
(2)在安装过程中,出现以下提示时,可以指定安装路径
[root@bigdata102 src]# bash Miniconda3-latest-Linux-x86_64.sh
Welcome to Miniconda3 py39_4.11.0
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> /usr/local/miniconda3
3)出现以下字样,即为安装完成
![](https://upload-images.jianshu.io/upload_images/18154391-c6e1f3ff0caa3740.png?im
ageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- 加载环境变量配置文件,使之生效
[root@bigdata102 src]# source ~/.bashrc
(base) [root@bigdata102 src]#
- 取消激活base环境
Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境。
(base) [root@bigdata102 src]# conda config --set auto_activate_base false
(base) [root@bigdata102 src]#
3.3 创建Python3.7环境
- 配置conda国内镜像
(base) [root@bigdata102 src]# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
(base) [root@bigdata102 src]# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
(base) [root@bigdata102 src]# conda config --set show_channel_urls yes
- 创建Python3.7环境
(base) [root@bigdata102 src]# conda create --name superset python=3.7
说明:conda环境管理常用命令
创建环境:conda create -n env_name
查看所有环境:conda info --envs
删除一个环境:conda remove -n env_name --all
- 激活superset环境
(base) [root@bigdata102 src]# conda activate superset
激活后效果如下:
(superset) [root@bigdata102 src]#
说明:退出当前环境
(superset) [root@bigdata102 src]# conda deactivate
(base) [root@bigdata102 src]#
-
执行python命令查看python版本
3.4 Superset部署
- 安装依赖
安装Superset之前,需安装以下所需依赖
(superset) [root@bigdata102 src]# 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
1)安装(更新)setuptools和pip
(superset) [root@bigdata102 src]# pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
说明:pip是python的包管理工具,可以和centos中的yum类比
2)安装Supetset
(superset) [root@bigdata102 src]# pip install apache-superset -i https://pypi.douban.com/simple/
说明:-i的作用是指定镜像,这里选择国内镜像
注:如果遇到网络错误导致不能下载,可尝试更换镜像,如:
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
3)初始化Supetset数据库
superset db upgrade
初始化如果遇到如下异常:
解决办法:
用markupsafe2.0.1版本:
python -m pip install markupsafe==2.0.1
仍然有报错No PIL installation found,如下:
这个错误不影响superset后续安装,如果想解决掉,手动安装pillow即可:
(superset) [root@bigdata102 src]# pip install pillow
4)创建管理员用户
(superset) [root@bigdata102 src]# export FLASK_APP=superset
(superset) [root@bigdata102 ~]# superset fab create-admin
--------------------------------------------------------------------------------
WARNING
--------------------------------------------------------------------------------
A Default SECRET_KEY was detected, please use superset_config.py to override it.
Use a strong complex alphanumeric string and use a tool to help you generate
a sufficiently random sequence, ex: openssl rand -base64 42
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
logging was configured successfully
2022-03-28 08:45:32,286:INFO:superset.utils.logging_configurator:logging was configured successfully
2022-03-28 08:45:32,298:INFO:root:Configured event logger of type
/root/miniconda3/envs/superset/lib/python3.7/site-packages/flask_caching/__init__.py:202: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
"Flask-Caching: CACHE_TYPE is set to null, "
Username [admin]: zdd
User first name [admin]: zdd
User last name [user]: zdd
Email [[email protected]]: [email protected]
Password:(输入zdd)
Repeat for confirmation:(输入zdd)
Recognized Database Authentications.
Admin User zdd created.
(superset) [root@bigdata102 ~]#
说明:flask是一个python web框架,Superset使用的就是flask
5)Superset初始化
(superset) [root@bigdata102 src]# superset init
3.5 启动Supterset
- 安装gunicorn
(superset) [root@bigdata102 src]# pip install gunicorn -i https://pypi.douban.com/simple/
说明:gunicorn是一个Python Web Server,可以和java中的TomCat类比
- 启动Superset
(1)确保当前conda环境为superset,及下图所示
(2)启动
(superset) [root@bigdata102 src]# gunicorn --workers 5 --timeout 120 --bind bigdata102:8787 "superset.app:create_app()" --daemon
说明:
--workers:指定进程个数
--timeout:worker进程超时时间,超时会自动重启
--bind:绑定本机地址,即为Superset访问地址
--daemon:后台运行
(3)登录Superset
访问http://bigdata102:8787,并使用安装的第4步创建的管理员账号(zdd/zdd)进行登录。
登录后: