目录
1、概述
Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图标展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。
由于Superset能够对接常用的大数据分析工具,如Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。
查看详细的所支持数据库,请点这 compatible databases
2、安装MiniConda
Superset是由Python语言编写的Web应用,要求Python3.6 的环境。所以在部署superset前需要准备python环境。
Conda 是一个开源的包和环境的管理器,可以用于在同一台机器上安装不同版本的Python 软件包及依赖,并能在不同的 Python 环境之间切换。Anaconda 和 MiniConda 都集成了 Conda,而 Anaconda 包括更多的工具包,例如 numpy、pandas,Miniconda 则只包括 Conda和 Python。此处,我们不需要太多的工具包,故选择 MiniConda。
-
下载 Miniconda
下载地址:MiniConda3下载
-
安装Miniconda
(1)执行以下命令,安装 Miniconda,并按照提示进行操作bash Miniconda3-latest-Linux-x86_64.sh
(2) 一直按回车,出现是否接受协议,输入 yes
(3)出现确定安装路径,默认是在hom目录下,也可以输入一个自定义路径,我输入了安装路径 opt/module/miniconda3
(4)出现是否进行conda的初始化,输入 yes
(5)加载环境变量配置文件,使之生效
source /home/evil/.bashrc
(6)
Miniconda 安装完成后,每次打开终端都会激活其默认的 base 环境,我们可通过以下命令,禁止激活默认的 base 环境。【这个参数可以在 /home/evil/.condarc看到】conda config --set auto_activate_base false
自此,miniconda3安装完成。
3、创建python3.6环境
-
配置国内下载镜像
执行下列命令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
-
下载
conda create --name superset python=3.6
若下载失败,出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk…,请点这里 链接1若下载不完全(一般网络问题),再次执行上面的命令即可,该下载支持断点续传。直至成功
当出现下面的提示就成功了;并尝试激活环境
4、部署superset
-
安装依赖
激活创建的superset环境后,执行下列命令sudo yum install -y python-setuptools sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
若安装过程中出现了 没有可用软件包这类错误,请点这里 链接2
-
安装 Superset
1)安装(更新)setuptools 和 pippip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
2)安装supersetpip install apache-superset -i https://pypi.douban.com/simple/
3)初始化 superset 数据库superset db upgrade
说明:默认使用sqlite,类似hive中的 derby数据库
若出现下面报错,只需要通过yum安装dataclasses即可,之后再尝试初始化
pip install dataclasses
4)创建管理员用户
export FLASK_APP=superset flask fab create-admin
说明:flask 是一个 Python Web 框架,Superset 使用的就是 flask
5)初始化 Supersetsuperset init
5、操作superset
-
安装 gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
说明:gunicorn 是一个 Python Web Server,与 Java 中的 TomCat 类似
-
启动superset
注意: 确保当前 Conda 的环境为 Superset。gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon "superset.app:create_app()"
-
停止运行 Superset
停掉 gunicorn 进程。
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
退出 Superset 环境。
conda deactivate
-
启动后 页面登录Superset
访问 http://hadoop102:8787,进入 Superset 登录页面,如下图,并使用前面创建的管理员账号进行登录。
6、使用superset
6.1 对接依赖安装
这里将对接mysql数据源,下面安装依赖
conda install mysqlclient
说明:对接不同的数据源,需安装不同的依赖【安装后,最好重启superset】
6.2 数据源配置
-
对接数据库
-
对接表
这里保存了两张表,便于后续的可视化展示
点击上方的 Dashboards +创建仪表盘
6.3 趋势图展示
点击 RUN
6.4 地图与饼状图展示
1. 地图
和上面一样,创建一张新Charts,选择表和图类型
ISO 3166-2 就是中国省级行政单位ISO 3166-2对照表,使用国家地图,表中必须要有这一编码字段
同样保存到一包盘中
2. 饼图
和上面一样,创建一张新Charts,选择表和图类型
每张图也可以进行自定义一些图元素,点击 customize
保存到仪表盘中
6.5 编辑仪表盘
布局
自动刷新