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

news2025/1/21 14:01:18

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/397470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FastApi的搭建与测试

一、fastapi的安装 1-1、使用pip安装 安装fastapi的语句 pip install fastapi -i https://mirrors.aliyun.com/pypi/simple因为fastapi启动依赖于uvicorn,所以我们还需要安装uvicorn。 pip install uvicorn -i https://mirrors.aliyun.com/pypi/simple下面我们来…

Java学习环境一站说明(保姆级详细教学)

1.Java开发环境搭建官网下载www.oracle.com2.安装注意:1.选择安装位置时尽量不要安装到C盘,路径中不要有空格以及中文的存在2.开发人员安装的jdk中包含了jre,所以不需要单独安装jre3.环境变量配置打开高级系统设置2.点击环境变量3.在系统变量…

FreeSWITCH 智能呼叫流程设计

文章目录1. 智能呼叫流程2. 细节处理1. 呼叫字符串指定拨号计划2. 外呼的拨号计划3. 语音打断的支持1. 智能呼叫流程 用户与机器人对话通常都是以文本的形式进行,但是借助 ASR 和 TTS 技术,以语音电话为载体的智能呼叫系统成为可能。智能呼叫系统涉及到…

Python蓝桥杯训练:基本数据结构 [二叉树] 上

Python蓝桥杯训练:基本数据结构 [二叉树] 上 文章目录Python蓝桥杯训练:基本数据结构 [二叉树] 上一、前言二、有关二叉树理论基础1、二叉树的基本定义2、二叉树的常见类型3、二叉树的遍历方式三、有关二叉树的层序遍历的题目1、[二叉树的层序遍历](http…

网络原理之传输层协议,TCP中的主要核心机制(重点)

目录 一. 传输层中的端口号 二. UDP协议 三. TCP协议 四. TCP中的核心机制 1. 确认应答 2. 超时重传 3. 连接管理 建立连接(三次握手) 断开连接(四次挥手) 4. 滑动窗口 考虑丢包情况1:ack丢了 考虑丢包情况2:数据丢了 5. 流量控制 6. 拥塞…

学这些语言工作更吃香,Python虽然再次摘得桂冠,但在就业需求中位居第一的还得是它!

2022 IEEE 编程语言榜单发布! IEEE Spectrum 2022 编程语言排名前十的分别是:Python,C,C,C#,Java,SQL,JavaScript,R,HTML,TypeScript。 一. Pyth…

嵌入式学习笔记——寄存器实现控制LED小灯

文章目录前言GPIO通用输出模式初始化LED小灯的GPIO原理图初始化代码初始化的效果功能函数封装直接分开宏定义两个使用条件运算符封装函数实现简单的功能前言 上一篇中,介绍了GPIO相关的所有寄存器,并在最后简单实现了一个LED灯的控制,由于那…

以获取笔记本电池信息为例介绍WMI的使用

注:本人也还没有完全弄懂WMI的原理,以下内容仅供参考。。。 简单来说,比起Win32提供的接口,WMI可以提供更多的系统信息,它本身是一个数据库架构,通过它可以访问、配置、管理和监视几乎所有的Windows资源&…

AM5728(AM5708)开发实战之移植OpenCV-3.4.11

一 概述 OpenCV是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Mac OS等操作系统上,它为图像处理、模式识别、三维重建、物体跟踪、机器学习提供了丰富的算法。 由于OpenCV依赖包特别多,尽量不要使用交叉编译,即在什…

VMware虚拟机搭建环境通用方法

目录一、前期准备1.下载并安装一个虚拟机软件二、开始创建虚拟机1.配置虚拟机硬件相关操作2.虚拟机网络相关操作三、开机配置相关内容0.开机遇到报错处理(选看--开机没有报错请忽略)1.开始配置2.开机之后配置3.使用xshell远程登录4.使用xshell配置虚拟机…

下一个7年,保持期待、持续思考,酷雷曼继续向前!

过去7年,我们一直在思考, VR技术究竟能为我们的生活带来什么? 是足不出户就能云游千里的秀美风光? 是在家就能沉浸式体验线上消费的便利? 还是为商企和用户搭建更快速的沟通桥梁? NO.1、技术变革 在信…

磁盘阵列Raid探讨

最近公司买服务器,顺便了解一下服务器配置方面的问题 以下讨论的都是入门级服务器配置,全部是主观意见,没有任何科学依据,欢迎大家讨论 Raid0,Raid1,Raid10,Raid5,Raid6(Raid5热备)…

计算机科学导论笔记(四)

目录 六、计算机网络和因特网 6.1 引言 6.1.1 网络 6.1.2 因特网 6.1.3 硬件和软件 6.1.4 协议分层 6.1.5 TCP/IP协议族 6.2 应用层 6.2.1 应用层模式 6.2.2 标准客户机-服务器应用 6.2.3 文件传输协议(FTP) 6.2.4 电子邮件 6.2.5 TELNET 6…

vue 模拟 chatgpt 聊天效果:js 实现逐字显示、延时函数模拟对话

vue 模拟 chatgpt 聊天效果&#xff1a;js 实现逐字显示、延时函数模拟对话模拟 chatgpt 聊天功能&#xff0c;展示对话效果。其中比较有意义的技术点是&#xff1a;js 实现逐字显示、延时函数&#xff0c;同步遍历。 <template><div class"chat-gpt">…

SpringBoot中的bean注入方式和原理介绍

Spring Boot是一个非常流行的Java框架&#xff0c;它可以帮助开发者快速地构建高效、健壮的应用程序。其中一个重要的功能就是依赖注入&#xff0c;也就是将一个对象注入到另一个对象中&#xff0c;以便它们可以相互协作。在Spring Boot中&#xff0c;依赖注入是通过bean实现的…

易优cms 标签常用函数

【基础用法】 标签&#xff1a;无 描述&#xff1a;作用于标签变量 用法&#xff1a; {$field.typename|html_msubstr###,0,10,true} 注意&#xff1a;函数与字段名之间用竖线&#xff08;|&#xff09;隔开&#xff0c;###表示当前变量 属性&#xff1a; 无 涉及表字段…

Kafka 消费进度

Kafka 消费进度Kafka 自带命令Java Consumer APIJMX 监控指标监控消费进度 : 看滞后程度&#xff1a;消费者 Lag , Consumer Lag 滞后程度 : 消费者落后于生产者的程度 如 : Kafka 生产者向某主题成功生产 100 万条消息&#xff0c;消费者消费 80 万条消息那消费者就滞后 20 …

ccc-pytorch-卷积神经网络实战(6)

文章目录一、CIFAR10 与 lenet5二、CIFAR10 与 ResNet一、CIFAR10 与 lenet5 第一步&#xff1a;准备数据集 lenet5.py import torch from torch.utils.data import DataLoader from torchvision import datasets from torchvision import transformsdef main():batchsz 128C…

基于嵌入式libxml2的ARM64平台的移植(aarch64)

由于libxml在移植过程中依赖于zlib的库文件&#xff0c;因此本节内容包含zlib&#xff08;V1.2.13&#xff09;的移植libxml2(V2.10.3)的移植两部分组成。 &#xff08;一&#xff09;zlib的移植&#xff08;基于arm64&#xff09; 1、在github上下载zlib的最新源码压缩包&am…

【C++的OpenCV】第十课-OpenCV图像常用操作(七):直方图和直方图同等化(直方图均衡化)

&#x1f389;&#x1f389;&#x1f389;欢迎各位来到小白piao的学习空间&#xff01;\color{red}{欢迎各位来到小白piao的学习空间&#xff01;}欢迎各位来到小白piao的学习空间&#xff01;&#x1f389;&#x1f389;&#x1f389; &#x1f496;&#x1f496;&#x1f496…