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. 点击下图中箭头,可调整仪表盘自动刷新时间
    在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值