Bootstrap

八、电商数仓项目——可视化报表Superset

一、Superset入门

1.1 Superset概述

        Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。

1.2 Superset应用场景

        由于Superset能够对接常用的大数据分析工具,如mysql、Hive、Kylin、Druid等,且支持自定义仪表盘,故可作为数仓的可视化工具。

二、Superset安装及使用

Superset官网地址:http://superset.apache.org/

2.1 安装Python环境

2.2 Superset部署

1、启动后superset:

(superset) [xiaobai@hadoop102 ~]$ 
gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon 

说明:
 workers:指定进程个数
 timeout:worker进程超时时间,超时会自动重启
 bind:绑定本机地址,即为Superset访问地址
 daemon:后台运行 

2、登录superset:
访问 http://hadoop102:8787 使用管理员账户进行登录。

3、停止superset:

ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9

2.4 superset启停脚本

superset.sh start

superset.sh stop

#!/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

三、Superset  使用

 

3.1  对接 MySQL  数据源

 

.测试连接 

三、角色授权访问刚才的数据源

编辑角色,给admin角色赋刚刚添加的数据库权限:

四、添加数据表

 在数据表中点击新增的表,即可进行一些查询操作

 

 

3.2  制作仪表盘

2  创建图表

;