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

在这里插入图片描述
                       星光下的赶路人star的个人主页

                      真正的才智是刚毅的志向

文章目录

  • 1、Superset入门
    • 1.1 Superset概述
    • 1.2 环境说明
  • 2、Superset安装
    • 2.1 安装Python环境
      • 2.1.1 安装Miniconda
      • 2.1.2 创建Python3.7 环境
    • 2.2 Superset部署
      • 2.2.1 安装依赖
      • 2.2.2 安装Superset
      • 2.2.3 启动Superset
      • 2.2.4 Superset启停脚本
  • 3、Superset使用
    • 3.1 对接MySQL数据源
      • 3.1.1 安装依赖
      • 3.1.2 重启Superset
      • 3.1.3 数据源配置
    • 3.2 制作仪表盘
      • 3.2.1 创建空白仪表盘
      • 3.2.2 创建图表
      • 3.2.3 编辑仪表盘
  • 4、Superset实战
    • 4.1 制作地图
      • 4.1.1配置Table
      • 4.1.2 配置Chart
    • 4.2 制作饼状图
      • 4.2.1 配置Table
      • 4.2.2 配置Chart

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

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

conda config --set auto_activate_base false

2.1.2 创建Python3.7 环境

1、配置Conda国内镜像

在conda config --add channel shttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --set show_channel_urls yes

2、创建Python3.7环境

conda create --name superset python=3.7

说明:conda环境管理常用命令
创建环境:conda create -n env_name
查看所有环境:conda info --envs
删除一个环境:conda remove -n env_name --all

3、激活Superset环境

conda activate superset

在这里插入图片描述
说明:退出当前环境

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/

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

2、安装superset

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

说明:-i的作用是指定镜像,这里选择国内镜像。
注:如果遇到网络错误导致不能下载,可重试更换镜像。

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

3、初始化Superset数据库

superset db upgrade

4、创建管理员用户

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

5、Superset初始化

superset init

2.2.3 启动Superset

1、安装gunicorn

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

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

退出Superset环境

conda deactivate

2.2.4 Superset启停脚本

1、创建superset.sh文件
2、提交内容如下

#!/bin/bashsuperset_status(){result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`if [[ $result -eq 0 ]]; thenreturn 0elsereturn 1fi
}
superset_start(){source ~/.bashrcsuperset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenconda activate superset ; gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 --daemon 'superset.app:create_app()'elseecho "superset正在运行"fi}superset_stop(){superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset未在运行"elseps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9fi
}case $1 instart )echo "启动Superset"superset_start;;stop )echo "停止Superset"superset_stop;;restart )echo "重启Superset"superset_stopsuperset_start;;status )superset_status >/dev/null 2>&1if [[ $? -eq 0 ]]; thenecho "superset未在运行"elseecho "superset正在运行"fi
esac

2、增加执行权限

chmod +x superset.sh

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

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
                      您的支持是我创作的无限动力

在这里插入图片描述
                      希望我能为您的未来尽绵薄之力

在这里插入图片描述
                      如有错误,谢谢指正;若有收获,谢谢赞美

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

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

相关文章

【ARM Coresight 系列文章 10.2 - ARM Coresight STM Trace packets】

文章目录 Trace protocolpacket的种类Error packetsVERSION Packets同步 packet 上篇文章:ARM Coresight 系列文章 10.1 - ARM Coresight STM 介绍及使用 下篇文章:ARM Coresight 系列文章 10.3 - ARM Coresight STM 寄存器介绍 及STM DMA 传输介绍 Trac…

WPF实战学习笔记13-创建注册登录接口

创建注册登录接口 添加文件 创建文件 MyToDo.Api ​ ./Controllers/LoginController.cs ​ ./Service/ILoginService.cs ​ ./Service/LoginService.cs MyToDo.Share ./Dtos/UserDto.cs LoginController.cs using Microsoft.AspNetCore.Mvc; using MyToDo.Api.Context;…

vue-pdf 单列显示多个pdf页面

<template><div><pdfv-for"i in numPages":key"i":src"src":page"i"style"display: inline-block; width: 100%"></pdf> <!-- 宽度设置100% 一行只展示一页 --></div> </template&g…

【uni-app2.0】实现登录页记住密码功能

使用uni-app的uni.setStorageSync()和uni.getStorageSync()方法来存储和读取密码 在登录页中添加一个记住密码的u-checkbox选项&#xff0c;并在data里面添加一个rememberPwd的布尔值&#xff0c;在每次点击记住密码change的时候来记录用户的选择 <u-checkbox-group place…

基于java的坦克大战游戏的设计与实现--毕业论文--【毕业论文】

文章目录 本系列校训毕设的技术铺垫文章主体层次摘要&#xff1a;示例摘要的写法 引言&#xff1a;系统分析总体设计总体功能总体功能如图1所示坦克大战总体流程图 详细设计游戏测试结论参考文献参考文献 配套资源 本系列校训 互相伤害互相卷&#xff0c;玩命学习要你管&#…

Linux磁盘管理命令

目录 1. du (disk usage文件和目录占用的磁盘空间) 2. df (disk free 查看磁盘使用情况) 3. lsblk(list block查看块设备挂载情况) 1. du (disk usage文件和目录占用的磁盘空间) du [-ahskm] 目录/文件&#xff08;文件大小可以直接使用ll查看&#xff09; 选项与参数&a…

(八九)如何与InfluxDB交互InfluxDB HTTP API

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 8 章 前言&#xff1a;如何与InfluxDB交互 1、InfluxDB启动后&#xff0c;会向外提供一套HTTP API。外部程…

正则表达式-速成教程

正则表达式-速成教程 今天遇到一枚程序媛在群里吐槽&#xff0c;并附了截图&#xff1b;然后无意中看到她的一个正则与她的注释描述不一致&#xff0c;就提醒了一下。顺带着给了个速成教程&#xff0c;在这里把这个速成教程贴出来&#xff0c;一是为了自己备份&#xff1b;二是…

QT【day1】

登录框&#xff1a; #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setFixedSize(600,600); //大小this->setWindowTitle("MUMU"); //文本内容this->setWindowOpacity(0.8); //透…

力扣 -- 978. 最长湍流子数组

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int maxTurbulenceSize(vector<int>& nums) {int nnums.size();vector<int> f(n);…

k8s中强制删除pv

K8s 集群内有一个已经不再使用的 PV&#xff0c;虽然已经删除了与其关联的 Pod 及 PVC&#xff0c;并对其执行了删除命令&#xff0c;但仍无法正常删除&#xff0c;一直处于 Terminating 状态&#xff1a; 解决办法&#xff1a; 1. 获取pv信息 kubectl get pv 2. 解除pv锁定 …

对话商汤王晓刚:“百模大战”下半场,如何才能突出重围?

点击关注 文 | 姚悦 今年最早发布的那批大模型&#xff0c;现在怎么样了&#xff1f; 近期&#xff0c;商汤科技宣布“商汤日日新SenseNova”大模型体系完成了第一次重大迭代。这距离其发布过去3个月时间。 “每天不断接到用户调用&#xff0c;收到建议反馈后&#xff0c;每隔…

阿里Java开发手册~日志规约

1. 【强制】应用中不可直接使用日志系统 &#xff08; Log 4 j 、 Logback &#xff09; 中的 API &#xff0c;而应依赖使用日志框架 SLF 4 J 中的 API &#xff0c;使用门面模式的日志框架&#xff0c;有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

Python - OpenCV机器视觉库的简单使用经验

OpenCV是一个开源的计算机视觉库&#xff0c;它支持多种编程语言&#xff0c;包括Python。下面是Python 3中OpenCV的详细解析&#xff1a; 安装OpenCV 在Python 3中安装OpenCV&#xff0c;可以使用pip命令来安装。例如&#xff0c;在终端中输入以下命令&#xff1a; pip ins…

面试题-TS(六):TypeScript 中的泛型是什么?

面试题-TS(6)&#xff1a;TypeScript 中的泛型是什么&#xff1f; 在TypeScript中&#xff0c;泛型&#xff08;Generics&#xff09;是一种强大的特性&#xff0c;它允许我们在编写可重用的代码时增加灵活性。泛型使得我们可以编写不特定数据类型的代码&#xff0c;从而提高代…

k8s1.27.4最新版本使用kubeadm+containerd方式安装

k8s1.27.4 最新版本使用kubeadm+containerd方式安装 1、环境准备 [全部节点配置]1.1系统环境1.2主机配置1.2.1 主机名配置1.2.2 主机IP地址配置1.2.3 主机名与IP地址解析1.2.4 防火墙配置1.2.5 SELINUX配置1.2.6 时间同步配置1.2.7 禁用swap交换分区(kubernetes强制要求禁用)…

使用java.lang.Comparable实现比较器和使用java.util.Collections排序

记录&#xff1a;469 场景&#xff1a;使用java.lang.Comparable实现比较器&#xff0c;使用java.util.Collections排序&#xff0c;实现找出最大值。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3,fastjson-2.0.33。 1.一个JSON字符串&#xff0c;找出最大值 1.1JSON字符串…

Set 和 Map 数据结构

数据结构Set ES6提供了新的数据结构Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成Set数据结构。 // 数组去重 const set new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4]目前个人感觉Se…

.NET 5 Web API 中JWT详细教程:保护你的Web应用

第一部分&#xff1a; 理解JWT JSON Web Token&#xff08;JWT&#xff09;是一种在不同系统之间传递信息的安全方式。它由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷&#xff08;Payload&#xff09;和签名&#xff08;Signature&#xff09;。头部包…