数仓学习---16、可视化报表(Superset)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 数仓学习---16、可视化报表(Superset)

                                                                                 

                       星光下的赶路人star的个人主页

                      知世故而不世故 是善良的成熟


文章目录



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。

1、下载Minconda(Python3版本)

下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

2、安装MiniConda

(1)执行以下命令进行安装,并按照提示操作,直到安装完成。

(2)在安装过程中,出现以下提示时,可以指定安装路径

(3)出现以下字样,即为安装完成

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

source ~/.bashrc
• 1

4、取消激活base环境

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

conda config --set auto_activate_base false
• 1


2.1.2 创建Python3.7 环境


1、配置Conda国内镜像

在conda config --add channel shttps://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

2、创建Python3.7环境

conda create --name superset python=3.7
• 1

说明:conda环境管理常用命令

创建环境:conda create -n env_name

查看所有环境:conda info --envs

删除一个环境:conda remove -n env_name --all

3、激活Superset环境

conda activate superset
• 1

说明:退出当前环境

conda deactivate

4、执行Python命令查看Python版本(我的版本和演示的是不一样的)


2.2 Superset部署


2.2.1 安装依赖


安装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


2.2.2 安装Superset


1、安装(更新)setuptools和pip

pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
• 1

说明:pip是python的包管理工具,可以和centos中的yum类比。

2、安装superset

pip install apache-superset -i https://pypi.douban.com/simple/
• 1

说明:-i的作用是指定镜像,这里选择国内镜像。

注:如果遇到网络错误导致不能下载,可重试更换镜像。

pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple

3、初始化Superset数据库

superset db upgrade
• 1

4、创建管理员用户

export FLASK_APP=superset
superset fab create-admin
#说明:flask是一个Python web框架,Superset使用的就是flask
• 1
• 2
• 3

5、Superset初始化

superset init
• 1


2.2.3 启动Superset


1、安装gunicorn

pip install gunicorn -i https://pypi.douban.com/simple/
• 1

2、启动Superset

(1)确保当前conda环境为superset

(2)启动

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

3、登录Superset

访问http://hadoop102:8787,并使用2.2.2节中第4步创建的管理员账号进行登录。

3、停止Superset

停掉gunicorn进程。

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

退出Superset环境

conda deactivate
• 1


2.2.4 Superset启停脚本


1、创建superset.sh文件

2、提交内容如下

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

2、增加执行权限

chmod +x superset.sh
• 1

3、测试

#启动Superset
superset.sh start
#停止Superset
superset.sh stop


3、Superset使用


3.1 对接MySQL数据源


3.1.1 安装依赖


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


3.1.2 重启Superset


superset.sh restart
• 1


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

(4)点击Test Connection,出现“Connection looks good!”提示即表示连接成功


(5)点击ADD

2、Table配置

(1)点击Data/Datasets


(2)点击Data/ Datasets

(3)配置Table


3.2 制作仪表盘


3.2.1 创建空白仪表盘


1、点击Dashboards/+DASHBOARDS

2、命名并保存


3.2.2 创建图表


1、点击Charts/+CHART

2、选择数据源及图表类型

3、选择合适的图表类型

4、创建图表

5、安装说明配置图表

6、点击“Run Query”

7、如果配置无误,可出现以下图表

8、命名该图表,并保存至仪表盘


3.2.3 编辑仪表盘


1、打开仪表盘,点击编辑按钮

2、调整图表大小以及图表盘布局

3、点击下图中箭头,可调整仪表盘自动刷新时间


4、Superset实战


4.1 制作地图


4.1.1配置Table



4.1.2 配置Chart



4.2 制作饼状图


4.2.1 配置Table



4.2.2 配置Chart


                                                                                                                                                               

                                                                        您的支持是我创作的无限动力

                                                                                     

                      希望我能为您的未来尽绵薄之力

                                                                                     

                    如有错误,谢谢指正若有收获,谢谢赞美

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
SQL 资源调度 数据库
数仓学习---14、大数据技术之DolphinScheduler
数仓学习---14、大数据技术之DolphinScheduler
|
关系型数据库 MySQL BI
数仓学习---13、报表数据导出
数仓学习---13、报表数据导出
|
6月前
|
SQL HIVE
数仓学习-----named_struct和collect_set函数
数仓学习-----named_struct和collect_set函数
116 5
|
6月前
|
存储 JSON 数据处理
数仓学习---数仓开发之DWD层
数仓学习---数仓开发之DWD
497 6
数仓学习---数仓开发之DWD层
|
6月前
|
存储 NoSQL 数据处理
Apache Paimon流式湖仓学习交流群成立
Apache Paimon流式湖仓学习交流群成立
490 59
|
6月前
|
数据挖掘 数据库
数仓学习---数仓开发之DIM层
数仓学习---数仓开发之DIM层 维度建模、维度表介绍、
458 1
|
6月前
|
数据格式
数仓学习---数仓开发之ODS层
数仓学习---数仓开发之ODS层
732 2
|
6月前
|
SQL 分布式计算 Java
数仓学习---7、数据仓库设计、数据仓库环境准备、模拟数据生成
数仓学习---7、数据仓库设计、数据仓库环境准备
270 2
|
消息中间件 SQL Kafka
数仓学习---15、数据仓库工作流调度
数仓学习---15、数据仓库工作流调度
|
1月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。