当前位置: 首页 > 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)链表中…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"&#xff0…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...