Superset数据探索和可视化平台入门以及案例实操

1、Superset背景

1.1、Superset概述

Apache Superset是一个现代的数据探索和可视化平台。它功能强大且十分易用,可对接各种数据源,包括很多现代的大数据分析引擎,拥有丰富的图表展示形式,并且支持自定义仪表盘。

在这里插入图片描述

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

  1. 执行以下命令进行安装,并按照提示操作,直到安装完成。
[song@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh
  1. 在安装过程中,出现以下提示时,可以指定安装路径
    在这里插入图片描述

  2. 出现以下字样,即为安装完成
    在这里插入图片描述

2.1.1.3、加载环境变量配置文件,使之生效

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

在这里插入图片描述

2.1.1.4、取消激活base环境

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

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

在这里插入图片描述

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

在这里插入图片描述

2.1.2.4、退出superset环境

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

在这里插入图片描述

2.1.2.5、执行python命令查看python版本

在这里插入图片描述

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

如果初始化数据库报错如下。
在这里插入图片描述
则执行如下命令,将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,会在此创建用户名、密码

在这里插入图片描述
Superset初始化

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

在这里插入图片描述

2.2.3、启动Supterset

2.2.3.1、安装gunicorn

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

在这里插入图片描述
gunicorn是一个Python Web Server,可以和java中的TomCat类比。

2.2.3.2、启动Superset

  1. 确保当前conda环境为superset
  2. 启动
(superset) [song@hadoop102 ~]$ gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon 
  1. 登录Superset
    访问http://hadoop102:8787,并使用之前创建的管理员账号进行登录。
    在这里插入图片描述

  2. 停止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启动、停止脚本

  1. 编写内容
#!/bin/bash

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
  1. 添加权限
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配置

  1. 点击Data/Databases。
    在这里插入图片描述
  2. 点击+DATABASE
    在这里插入图片描述
  3. 点击填写Database及SQL Alchemy URI

注:SQL Alchemy URI编写规范:mysql://用户名:密码@主机名:端口号/数据库名称。
此处填写:
mysql://root:000000@hadoop102:3306/gmall_report?charset=utf8

  1. 测试连接
    在这里插入图片描述
  2. 点击保存
    在这里插入图片描述

3.1.3.2、Table配置

  1. 点击Data/Datasets
    在这里插入图片描述

  2. 点击Data/ Datasets
    在这里插入图片描述

在这里插入图片描述

3.2、制作仪表盘

3.2.1、创建空白仪表盘

  1. 点击Dashboards/+DASHBOARDS
    在这里插入图片描述

  2. 命名并保存
    在这里插入图片描述
    在这里插入图片描述

3.2.2、创建图表

  1. 点击Charts/+CHART
    在这里插入图片描述

  2. 选择何使的图表类型,创建图表
    在这里插入图片描述

  3. 按照说明配置图表
    在这里插入图片描述

  4. 点击“Run Query”
    在这里插入图片描述

  5. 如配置无误,可出现以下图标
    在这里插入图片描述

  6. 命名该图表,并保存至仪表盘
    在这里插入图片描述
    在这里插入图片描述

3.2.3、编辑仪表盘

  1. 打开仪表盘,点击编辑按钮
    在这里插入图片描述

  2. 调整图表大小以及图表盘布局
    在这里插入图片描述

  3. 点击下图中箭头,可调整仪表盘自动刷新时间
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/prefect_start/article/details/129406881