可视化报表Superset

一、Superset入门与安装

1、Superset概述

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

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

2、安装Python环境

2.1 安装Miniconda

Superset是由Python语言编写的Web应用,要求Python3.7的环境

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 将路径放到/opt/module/miniconda3下
# 成功后重启shell
# 查看python版本
python -V

# 加载环境变量配置文件,使之生效也可以
source ~/.bashrc
# 取消激活base环境
# Miniconda安装完成后,每次打开终端都会激活其默认的base环境,我们可通过以下命令,禁止激活默认base环境
conda config --set auto_activate_base false

2.2 创建Python3.7环境

# 配置conda国内镜像
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

# 创建Python3.7环境
conda activate
conda create --name superset python=3.7
conda activate superset
# 退出当前环境
conda deactivate

3、Superset部署

https://superset.apache.org/docs/installation/installing-superset-from-scratch

docker安装更方便,这里演示二进制包安装

3.1 安装Superset

# 安装Superset之前,需安装以下所需依赖
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
# 安装(更新)setuptools和pip
pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
# 安装Supetset
# -i的作用是指定镜像,这里选择国内镜像
pip install apache-superset -i https://pypi.douban.com/simple/
# 如果遇到网络错误导致不能下载,可尝试更换镜
pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
# 初始化Supetset数据库
superset db upgrade
# 一些常见错误可以参考:https://blog.csdn.net/zgzdqq/article/details/127996901
# 这里花了好久,反正就是缺啥补啥,都是版本依赖问题
# markupsafe依赖的版本回退到 2.0.1(报错ImportError: cannot import name 'soft_unicode' from 'markupsafe回退)
# pip install --force-reinstall MarkupSafe==2.0.1

# 创建管理员用户
# 说明:flask是一个python web框架,Superset使用的就是flask
export FLASK_APP=superset
superset fab create-admin
# Superset初始化
superset init

3.2 启动Supterset

# gunicorn是一个Python Web Server,可以和java中的TomCat类比
pip install gunicorn -i https://pypi.douban.com/simple/

# 启动Superset,确保当前conda环境为superset
gunicorn --workers 5 --timeout 120 --bind hadoop102:8787  "superset.app:create_app()" --daemon 
# workers:指定进程个数
# timeout:worker进程超时时间,超时会自动重启
# bind:绑定本机地址,即为Superset访问地址
# daemon:后台运行

# 登录Superset
# 访问http://hadoop102:8787

# 停止superset
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
conda deactivate

3.3 superset启停脚本

vim superset.sh

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

加执行权限

chmod +x superset.sh
superset.sh start

4、docker部署

其他可以参考官网:https://superset.apache.org/docs/installation/installing-superset-using-docker-compose

首先安装好docker依赖

docker pull amancevice/superset
# 创建存储superset数据配置所需文件夹
mkdir -p /opt/module/superset/conf 
mkdir -p /opt/module/superset/data

# 运行superset容器
docker run --name superset -u 0 -d -p 17077:8088 \
-v /opt/module/superset/conf:/etc/superset \
-v /opt/module/superset/data:/var/lib/superset amancevice/superset:latest

# 初始化superset数据库
docker exec -it superset superset db upgrade
# 创建superset管理员用户
docker exec -it superset superset fab create-admin
# 初始化superset
docker exec -it superset superset init 
# 开启服务
docker exec -it superset superset run --with-threads --reload --debugger
# 浏览器地址栏输入 IP:17077/login

二、Superset使用与实战

1、对接MySQL数据源

对接不同的数据源,需安装不同的依赖,以下地址为官网说明:https://superset.apache.org/docs/databases/installing-database-drivers

conda install mysqlclient
superset.sh restart

然后配置数据源配置,配置数据源,然后导入dataset

2、制作仪表盘与图表

点击Dashboards/+DASHBOARDS制作空白仪表盘;然后创建图表,点击Charts/+CHART,选则数据源及图表类型,下面是一些图配置,具体的操作详见官网

制作地图,报表为ads_order_count_by_province

制作饼状图,报表为ads_order_count_by_category

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Superset是一个开源的数据可视化工具,可以用于可视化各种数据源,包括Hive。Hive是建立在Hadoop之上的数据仓库工具,用于处理大规模的结构化和非结构化数据。 通过superset可以连接Hive数据库,并使用其可视化功能来探索和分析Hive中的数据。首先,需要在superset中配置一个Hive数据源,提供Hive数据库的连接信息,比如主机名、用户名、密码等。一旦连接成功,就可以开始在superset中创建仪表盘、图表和可视化报表。 在superset中使用Hive数据库进行可视化需要了解Hive的表结构和数据。可以浏览Hive中的表、列和分区,并选择需要的数据进行可视化。可以使用superset的查询编辑器来编写和执行Hive查询,并将查询结果用于生成各种图表和仪表盘。 superset支持多种可视化图表类型,比如柱状图、饼图、线图等。可以根据需要选择适当的图表类型,并对图表进行样式和布局的调整,以便更好地展示和分析Hive数据。 除了可视化功能,superset还提供数据切片和过滤、仪表盘共享和嵌入、数据导出和分享等功能,可大大提升对Hive数据的可视化和分析能力。 综上所述,通过superset可以方便地对Hive数据进行可视化分析,帮助用户更好地理解和利用Hive中存储的数据。它提供了丰富的可视化图表类型和功能,并与Hive数据库无缝集成,为用户提供了一个强大而灵活的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值