Superset基础入门

1 Superset概述

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

2 Superset安装

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

  • python安装步骤:
    (1)安装Miniconda。conda 是一个开源的包、环境管理器,可以用于在同一个机器上安装不同 Python 版本的 软件包及其依赖,并能够在不同的 Python 环境之间切换,Anaconda 包括 Conda、Python 以 及一大堆安装好的工具包,比如:numpy、pandas 等,Miniconda 包括 Conda、Python。 此处,我们不需要如此多的工具包,故选择 MiniConda。Miniconda下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

    bash Miniconda3-latest-Linux-x86_64.sh
    

    运行后指定安装路径后安装成功

    (2)加载环境变量配置文件,使之生效

    source ~/.bashrc
    

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

    conda config --set auto_activate_base false
    

    (4)配置 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
    

    (5)创建 Python3.8 环境

    conda create --name superset python=3.8
    
  • superset安装部署步骤
    (1)安装依赖

    sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-developenldap-devel
    

    (2)安装(更新)setuptools 和 pip

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

    (3)安装superset

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

    (4)初始化 Supetset 数据库(元数据库),报错的话安装pip install wtforms==2.3.3

    superset db upgrade
    

    (5)创建管理员用户,输入用户名superset、个人信息(可回车跳过)、密码superset,报错的话安装pip install pillow
    在这里插入图片描述

    export FLASK_APP=superset
    superset fab create-admin
    

    (6)Superset 初始化

    superset init
    
  • 启动superset步骤,将superset部署到web容器中

    (1)安装gunicorn,gunicorn 是一个 Python Web Server,可以和 java 中的 TomCat 类比

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

    (2)确保当前 conda 环境为 superset,启动superset,–workers:指定进程个数, --timeout:worker 进程超时时间,超时会自动重启, --bind:绑定本机地址,即为 Superset 访问地址, --daemon:后台运行

    gunicorn --workers 5 --timeout 120 --bind hadoop102:8787 "superset.app:create_app()" --daemon
    

    (3)访问hadoop102:8787,输入账号密码即可登录

  • 关闭superset,没有现成的命令,需要手动关闭进程,过滤出所有包含superset的进程并kill

    ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
    
  • superset启停脚本

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

3 Superset使用

3.1 配置数据源

  • 要对接不同的数据源,需要安装不同的依赖,https://superset.apache.org/docs/databases/installing-database-drivers,这里安装对接mysql的依赖,然后重启superset

    conda install mysqlclient
    
  • 配置数据源步骤
    (1)点击 Data/Databases
    (2)点击+DATABASE
    (3)点击填写 Database 相关信息进行连接

  • 配置表步骤
    (1)点击 Data/Datasets
    (2)点击+DATASET
    (3)选择要配置的数据库以及表进行添加
    在这里插入图片描述

3.2 制作仪表盘

  • 创建空白仪表盘步骤
    (1)点击 Dashboards/+DASHBOARDS
    (2)命名并保存

  • 创建图表步骤
    (1)点击 Charts/+CHART
    (2)选则数据源及图表类型
    (3)对图表进行配置后创建,配置界面分为三块,分别是表的信息区、表的配置区、表的预览区;其中TIME COLUMN指明数据源表中代表时间的字段,后面它的值会作为横轴;TIME GRAIN代表时间粒度,TIME RANGE代表时间范围,可以设置要展示的时间范围;METRICS则代表衡量指标,可以选择一个数据源表的字段,后面它的值会作为纵轴,同时还需要选择一个聚合函数AGGREGATE,该聚合函数会按照前面选择的时间粒度进行数据的聚合;
    在这里插入图片描述

    (4)点击右上角保存生成的图表,选择要添加到的仪表盘
    (5)可在相应的仪表盘中看到刚刚创建的图表,如果有多个图表的话,可以点击编辑按钮,使用行列组件预先布局,然后再把图表拖到对应的位置上
    (6)在仪表盘右上角可以选择设置自动刷新时间间隔

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【漏洞复现】万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞 附POC

漏洞描述 万户ezOFFICE集团版协同平台以工作流程、知识管理、沟通交流和辅助办公四大核心应用 万户ezOFFICE协同管理平台是一个综合信息基础应用平台。 万户协同办公平台ezoffice wpsservlet接口存在任意文件上传漏洞。 免责声明 技术文章仅供参考,任何个人和组织使用网络应…

Mysql学习查缺补漏----02 mysql之DCL 数据控制语言

查看数据库里都有哪些用户。 使用root任何一个用户都可以登录。 本机登录。 也可以这样登录其他的机器。 、 修改user表。 刷新权限: 现在我们看到了只有本机才能登陆。 我们这样就可以限制这个mysql指定某台服务器登录。 详解忘记密码以及如何修改用户密码 我们…

cmd下查看python命令的用法

在cmd下,可以运行python --help或者py --help来查看python命令的用法。例如:

ts declare 的用法、和export的区别、*.d.ts的使用说明

一、declare: 阮一峰 首先声明,declare 来声明全局变量或类型的目的是为了让 TypeScript编译器能够识别和理解这些外部环境中已存在的内容,而不需要在当前文件中提供具体的实现或定义。包括 declare namespace 和declare moudle 也是为了上述。 二、 *.…

Web APIs—事件监听、事件类型、事件对象、环境对象、回调函数、综合案例:随机点名案例,轮播图完整版,评论区回车发布,Tab栏切换

版本说明 当前版本号[20231205]。 版本修改说明20231205初版 目录 文章目录 版本说明目录Web APIs - 第2天事件事件监听案例:通过点击按钮,弹出一个对话框 事件类型事件处理程序综合案例:随机点名案例 事件类型鼠标事件键盘事件焦点事件案…

一、运行时数据区域

根据 《Java 虚拟机规范》的规定,Java 虚拟机所管理的内存将会包括以下截个运行时数据区域,如图所示。 1、程序计数器 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在 Java 虚拟机的概念模型里&#x…

SpringBoot基础知识

SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Ja…

基于Java SSM框架实现文物管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现文物管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#…

基于Java SSM框架实现文物管理系统项目【项目源码+论文说明】

基于java的SSM框架实现文物管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#…

Git标签管理

愿所有美好如期而遇 目录 理解标签 创建标签 操作标签 理解标签 tag标签,可以简单理解成对某次commit id的一次标识,也就是起了个别名,将来我们可以通过这个标签的信息知道这个版本做了什么,用来标识他的意义。 所以要给标签…

LangChain 21 Agents自问自答与搜索 Self-ask with search

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

Opencv UI自动化应用人脸识别

OpenCV: Open Source Computer Vision Library OpenCV是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法 OpenCV官网:http://www.opencv.org.cn/ OpenCV 使用 C/C 开发,同时也提供了 Python、Ja…

Java面试题(每天10题)-------连载(44)

目录 Dubbo篇 1、Dubbo支持哪些协议,每种协议的应用场景,优缺点 2、Dubbo超时时间怎么设置? 3、Dubbo有哪些注册中心? 4、Dubbo集群的负载均衡有哪些策略 5、Dubbo是什么? 6、Dubbo的主要应用场景?…

jsp在线辅助教育系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 在线辅助教育系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

geemap学习笔记020:如何搜索Earth Engine Python脚本

前言 本节内容比较简单,但是对于自主学习比较重要,JavaScript提供了很多的示例代码,为了便于学习,geemap将其转为了Python代码。 Earth Engine Python脚本 import ee import geemapee.Initialize()geemap.ee_search() #搜索Ear…

数据结构第7次练习-图(基础篇)

一:判断题 1-1 答案:T 解析:c到a的最短路径是12214,所以是大于10的 1-2 答案:T 一个连通分量要进行一次广度优先搜索 1-3 答案:F 解析:是存在等于顶点的个数减一的情况,比如三个顶点…

Flask项目Day1,Flask常见第三方拓展包

拉项目 git clone https://gitee.com/hahaguai007/python-flask-mysql.git git clone 项目地址运行后即可获取项目 2.创建数据库 在MySQL中创建一个数据库,名字自己定,然后修改RealProject\settings.py里的SQLALCHEMY_DATABASE_URI,格式为 …

【TiDB理论知识04】TiKV-分布式事务与MVCC

分布式事务 下面一个事务 里面有两个更新,分别将id1的Tom改为Jack,将id2的zhangsan 改为 lisi。在MySQL中这个事务很普通,但是在分布式数据库TiDB 中的会遇到什么问题呢? begin; (1,Tom) --> (1,Jack) (2,zhangsan) --> (2,lisi) commit; 比如(…

简单弄懂DDOS攻击

DDoS攻击是网络安全领域中最常见的攻击之一。攻击者通过利用大量合法请求,占用目标服务器的网络带宽和系统资源,从而使目标系统无法正常运行。本文将介绍DDoS攻击的特点和常见类型,以及如何辨别和应对DDoS攻击,并提供Python代码演…

EM32DX-C4【C#】站15

1外观: J301 直流 24V 电源输入 CAN0 CAN0 总线接口 CAN1 CAN1 总线接口 J201 IO 接线段子 S301-1、S301-2 输出口初始电平拨码设置 S301-3~S301-6 模块 CAN ID 站号拨码开关 S301-7 模块波特率拨码设置 S301-8 终端电阻选择开关 2DI: 公共端是…