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

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)在仪表盘右上角可以选择设置自动刷新时间间隔

相关文章:

Superset基础入门

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

【泛微ecology】将多个字段的数据合并到一个字段

doFieldSQL("select concat(concat(sqr,,),sy) as c from formtable_main_2 where requestid $requestid$ ")...

WebSocket入门介绍及编程实战

HTTP的限制 全双工和半双工: 全双工:全双工(Full Duplex)是允许数据在两个方向上同时传输。 半双工:半双工(Half Duplex)是允许数据在两个方向上传输,但是同一个时间段内只允许一个…...

vue3里面生命周期的使用

前言: vue2里面的生命周期和vue3生命周期是非常的相似的,我们通过访问生命周期钩子来处理不同场景之间的应用。 生命周期钩子的函数定义:每一个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如数据侦听,编译模…...

在python的Scikit-learn库中,可以使用train_test_split函数来划分训练集和测试集。

文章目录 一、在Scikit-learn库中,可以使用train_test_split函数来划分训练集和测试集总结 一、在Scikit-learn库中,可以使用train_test_split函数来划分训练集和测试集 在Scikit-learn库中,可以使用train_test_split函数来划分训练集和测试…...

外包干了2个月,技术明显退步了...

先说一下自己的情况,大专生,19年通过校招进入广州某软件公司,干了接近5年的功能测试,今年11月份,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…...

数据结构:链表应用:第9关:删除链表中满足区间值的结点

任务描述编程要求 输入输出测试说明来源 任务描述 本关任务:利用单链表表示一个递增的整数序列,删除链表中值大于等于mink且小于等于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同…...

了解 ignore_above 参数对 Elasticsearch 中磁盘使用的影响

在 Elasticsearch 中,ignore_above 参数允许你忽略(而不是索引)长于指定长度的字符串。 这对于限制字段的大小以避免性能问题很有用。 在本文中,我们将探讨 “ignore_above” 参数如何影响 Elasticsearch 中字段的大小&#xff0c…...

C#中的async/await异步编程模型

前言 当谈到异步编程时,C#中的async/await是一个强大且方便的工具。它使得编写并发和异步操作变得更加简单和可读,同时提供良好的可维护性。本文将详细解释async/await的使用,以及如何在C#中有效地利用它来实现异步操作。 目录 前言1. async…...

【原创】提升MybatisPlus分页便捷性,制作一个属于自己的分页插件,让代码更加优雅

前言 MybatisPlus的分页插件有一点非常不好,就是要传入一个IPage,别看这个IPage没什么大不了的,最多多写一两行代码,可这带来一个问题,即使用xml的查询没法直接取对象里面变量的值了,得Param指定xml中的变…...

pythonselenium自动化测试实战项目

说明:本项目采用流程控制思想,未引用unittest&pytest等单元测试框架 一.项目介绍 目的 测试某官方网站登录功能模块可以正常使用 用例 1.输入格式正确的用户名和正确的密码,验证是否登录成功; 2.输入格式正确的用户名和不…...

智能优化算法应用:基于瞬态优化算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于瞬态优化算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于瞬态优化算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.瞬态优化算法4.实验参数设定5.算法结果6.参考…...

springMVC 三大组件解析

springMVC组件概述 DispatcherServlet(调度器Servlet): DispatcherServlet 是 Spring MVC 的前端控制器(Front Controller)。它负责接收来自客户端的请求,然后将请求分发给相应的处理器(Control…...

聊聊nginx的keepalive_time参数

序 本文主要研究一下nginx的keepalive_time参数 keepalive_time Syntax: keepalive_time time; Default: keepalive_time 1h; Context: http, server, location This directive appeared in version 1.19.10.nginx的1.19.10版本新增了keepalive_time参数,用于限…...

沐风老师3DMAX键盘球建模方法详解

3DMAX键盘球建模教程 本教程给大家分享一个3dMax键盘球的建模方法过程。在学习本教程之前,大家需要对3dMax基本操作及建模知识有所掌握,还是那句话:做实例的前提是选学习基础知识和掌握3dMax的基本操作。 下面就给大家一步一步讲解演示3dMax…...

算法通关村第一关—白银挑战—链表高频面试算法题—查找两个链表的第一个公共子节点

文章目录 查找两个链表的第一个公共子节点(1)暴力求解法(2)使用哈希Hash⭐(3)使用集合⭐ - 与Hash类似(4)使用栈⭐(5)仍有更多方法,作者尚未理解&…...

C/C++ 发送与接收HTTP/S请求

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议。它是一种无状态的、应用层的协议,用于在计算机之间传输超文本文档,通常在 Web 浏览器和 Web 服务器之间进行数据通信。HTTP 是由互联网工程任务组(IETF…...

【算法集训】基础数据结构:一、顺序表(下)

由于今天的题目是昨天剩下的,所以只有两道题,也非常简单,刷完下班~~~嘿嘿 第六题 2656. K 个元素的最大和 https://leetcode.cn/problems/maximum-sum-with-exactly-k-elements/description/ 很简单的思路,要得到得分最大的&…...

[Java][项目][战斗逻辑]基于JFrame的文字游戏

项目注解: Core:启动文件 AttributeBean:玩家属性 BackpackedBean:背包设计(未完成) BackpackedFrame:背包页面(未完成) BattleField:战斗逻辑(核心&…...

顺序表和链表面试题

文章目录 顺序表(1)原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)。(2)删除有序数组中的重复项(3)合并两个有序数组 链表(1)删除链表中等于给定值 val 的所有节点(2)反转一个单链表(3) 合并两个有序链表(4)链表的中间结点(5)链表中…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...