当前位置: 首页 > news >正文

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

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/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
  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.lryc.cn/news/34476.html

相关文章:

  • VisualSP Enterprise - February crack
  • 004+limou+HTML——(4)HTML表格
  • uniapp实现自定义相机
  • 插值多项式的龙格现象的介绍与模拟
  • Spring整体架构包含哪些组件?
  • 开发接口需要考虑哪些问题?
  • 关于Activiti7审批工作流绘画流程图(2)
  • String.format()对日期进行格式化
  • 核酸检测信息管理系统
  • 典型回溯题目 - 全排列(一、二)
  • 数据清洗和特征选择
  • java StringBuilder 和 StringBuffer 万字详解(深度讲解)
  • 【Linux】帮助文档查看方法
  • UEFI 实战(2) HelloWorld 之一 helloworld及.inf文件
  • 向2022年度商界木兰上榜女性致敬!
  • ChatGPT助力校招----面试问题分享(二)
  • JAVA架构与开发(JAVA架构是需要考虑的几个问题)
  • vue 中 v-for 的使用
  • 项目--基于RTSP协议的简易服务器开发(2)
  • ubus编译_环境搭建
  • 移动通信(16)信号检测
  • 数据结构与算法之《顺序表》
  • MySQL索引15连问,抗住!
  • 【服务器管理】手动部署LNMP环境(CentOS 8)(非阿里云版本)
  • 论文笔记:Positive-incentive Noise
  • 340秒语音芯片,轻松实现语音交互,畅享智能生活WTV380语音ic方案
  • 有java基础学习大数据该如何规划
  • 【Java基础】HashMap的底层数据结构是怎样的?
  • MongoDB5副本集高可用集群部署
  • 【Java】最新版本SpringCloudStream整合RocketMQ实现单项目中事件的发布与监听