数据可视化的web工具 apache-superset

news2024/9/22 1:37:00

文章目录

  • 简介
  • 安装
    • window10
    • Ubuntu1804
    • CentOS8
  • 配置连接数据库
  • 创建仪表板
  • 创建图表
  • 图表加入仪表板
  • 时间序列折线图

简介

Superset是一款由Airbnb开源的、目前由Apache孵化的,基于Flask-appbuilder搭建的“现代化的企业级BI(商业智能)Web应用程序”,它通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。

安装

官网仅仅提供了linux、macos、docker的安装
apache-superset

window10

  1. 创建一个目录superset_,内部创建python虚拟环境(python3.9)
# superset_目录
python -m venv superset_venv

# 激活虚拟环境
cd superset_venv/Scripts/
activate # 激活
  1. 下载源码
    在superset_目录下(虚拟环境的同级目录),下载superset的源码。
# git 克隆
git clone https://github.com/apache/superset.git

# 若无法拉取,则直接打开网址,直接复制

然后解压,并进入superset项目目录。

  1. 打开一个终端,并安装superset
# 安装依赖
pip install -e .
# 安装superset
pip install apache-superset
  1. 设置配置文件
    在superset项目根目录下,创建superset_config.py配置文件,内部编辑如下。
  • 重点修改 SECRET_KEY,使用openssl rand -base64 42 生成随机秘钥。
  • 重点修改SQLALCHEMY_DATABASE_URI
# 
# Superset specific config
ROW_LIMIT = 5000
# 服务端口
SUPERSET_WEBSERVER_PORT = 8088

# Flask App Builder configuration
# Your App secret key will be used for securely signing the session cookie
# and encrypting sensitive information on the database
# Make sure you are changing this key for your deployment with a strong key.
# You can generate a strong key using `openssl rand -base64 42`.
# Alternatively you can set it with `SUPERSET_SECRET_KEY` environment variable.
SECRET_KEY = 'xQyq5JVwd7q6cw1yXjE/P+YyirBzP7hEWTn+S0ux6GuUkPzDyPoVLhp7'

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'sqlite:///C:\\Users\\lenovo\\Desktop\\superset_/superset.db'

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''
  1. 设置环境变量,并初始化数据库
# 终端下
set FLASK_APP=superset  # 本身就是一个flask应用
# 初始化数据库
superset db upgrade

如下表示半成功,数据库配置不正确;修改数据库配置后,再次执行superset db upgrade会输出大量的日志,表示成功。
在这里插入图片描述
 
初始化失败的情况:
在这里插入图片描述
因为默认的秘钥不安全,必须自己在superset项目下使用superset_config.py进行配置。

可以查看superset命令的帮助信息:superset --help
在这里插入图片描述

  1. 创建用户,并初始化
# 终端下,创建管理用户
superset fab create-admin

# 下载 superset 案例
superset load-examples  # 下载失败不影响使用

# 创建默认的角色、权限
superset init
  1. 启动superset这个flask应用程序
    启动应用程序,并在浏览器中访问。
# 运行后端flask项目
superset run -p 5000 --with-threads --reload --debugger

浏览器访问,http://localhost:5000/
在这里插入图片描述
 
使用创建的管理员账户登录。
在这里插入图片描述
此时发现没有页面数据。

  1. 处理前端项目
# 进入前端项目
cd superset-frontend
# 安装依赖
npm install

# 报错可以尝试升级,然后再次安装
npm install -g npm
npm install 

# 安装完成,确保可以启动前端项目
npm run dev

在这里插入图片描述
在这里插入图片描述
前端项目启动时,有几个报错,好像不影响使用。

 
只需启动superset即可,刷新浏览器。
在这里插入图片描述

 

 

Ubuntu1804

pass

CentOS8

pass

 

配置连接数据库

连接其他的数据库,增加数据源。

创建仪表板

pass

创建图表

数据可视化

图表加入仪表板

pass

 

时间序列折线图

  1. 选择表、line chart,点击确定,请求如下地址
    http://localhost:5050/api/v1/explore/?viz_type=echarts_timeseries_line&datasource_id=1&datasource_type=table
    GET

flask routes查看所有的路由。

视图:ExploreRestApi.get
在这里插入图片描述

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

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

相关文章

很合适新手入门使用的Python游戏开发包pygame实例教程-02[如何控制飞行]

前面一篇博文,我们让飞机动起来了,但不是那么完美,我们继续来完善我们的游戏代码,本篇博文主要介绍获取按键的方式已经飞行的控制。 文章目录 一、获取按键的三种方式1、通过event.get配合pygame.key枚举2、通过event.get配合ord…

C++入门教程||C++ 文件和流||C++ 异常处理

C 文件和流 C 文件和流 到目前为止,我们已经使用了 iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C 中另一个标准库 fstream,它定义…

《我的第一本算法书》读书笔记

《我的第一本算法书》读书笔记 作者:宫崎修一 石田保辉 ◆ 1-3 数组 在链表和数组中,数据都是线性地排成一列。在链表中访问数据较为复杂,添加和删除数据较为简单;而在数组中访问数据比较简单,添加和删除数据却比较复…

转行IT,怎么选专业?

转行IT,怎么选专业? 知己知彼,百战不殆 先清楚你自身的基础情况:学历、年龄、是否有基础、学习能力如何、自律性、时间管理能力、有没有生活压力、有没有家要养、车贷、房贷…… 思考的问题越现实,对你的帮助越大 选…

运营商大数据获客是什么,是如何实现精准获客的

长久以来,企业希望自己的产品获得更多的客户,那么就需要花钱做推广和营销。然而随着互联网和自媒体的发展,并不是钱花出去了,就能带来有效的流量和高质量的客户,费效比太高,精准度太差,没有好的…

神经网络初学者的激活函数指南

如果你刚刚开始学习神经网络,激活函数的原理一开始可能很难理解。但是如果你想开发强大的神经网络,理解它们是很重要的。 但在我们深入研究激活函数之前,先快速回顾一下神经网络架构的基本元素。如果你已经熟悉神经网络的工作原理&#xff0c…

STM32+ESP8266+QT客户端上位机显示DHT11温湿度与点灯

目录 1、简介 2、硬件连接 3、上位机源码 3.1 widget.h 3.2 widget.c 3.3 显示图 4、下位机源码 4.1 cubemax配置 4.2 keil源码 1、简介 本文使用STM32F103C8T6单片机使用单片机通过ESP8266WIFI模块与QT设计的上位机进行通讯,ESP8266设置AP模式。实现DHT11传…

跨越DDD从理论到工程落地的鸿沟

DDD作为一种优秀的设计思想,的确为复杂业务治理带来了曙光。然而因为DDD本身难以掌握,很容易造成DDD从理论到工程落地之间出现巨大的鸿沟。就像电影里面的桥段,只谈DDD理论姿势很优美,一旦工程落地就跪了…所以DDD的项目&#xff…

Android实战-RecyclerView+Glide刷新列表的若干bug

文章目录 前言一. RecyclerView中使用Glide出现加载图片闪烁1.1 提出问题1.2 查看源码1.3 ViewTarget和SimpleTarget 二. CustomTarget和CustomViewTarget2.1 onResourceCleared和onLoadCleared2.2 onLoadStarted和onResourceLoading 结束 前言 最近在项目中使用RecyclerViewG…

Java——合并两个排序的链表

题目链接 牛客在线oj题——合并两个排序的链表 题目描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0≤n≤1000,−1000≤节点值≤1000 要求:空间复杂…

物联网定位技术|实验报告|实验二 多边定位算法、DV-HOP算法

在WSN定位中常常采用三边定位算法,试画图推导三边定位的计算公式,并表示为矩阵形式。 目录 1. 实验目标 2. 实验要求 3. 算法介绍 3.1基本内容介绍 3.2迭代多边定位算法 3.3 DV-HOP算法 4. 算法实现 4.1迭代多边定位算法 第一步:将数据读入内…

STM32HAL库USART外设配置流程及库函数讲解

HAL库中USART外设配置流程及库函数讲解 一说到串口通信,及必须说一下aRS-232/485协议。232协议标准物理接口就是我们常用的DB9串口线 RS-232电平: 逻辑1:-15~-3 逻辑0: 3~15 COMS电平: 逻辑1:3.3 逻辑0&a…

文件操作【下篇】

文章目录 🗃️5.文件的随机读写📁5.1. fseek📁5.2. ftell📁5.3. rewind 🗃️6.文本文件和二进制文件🗃️7.文件读取结束的判定📁7.1. 被错误使用的 feof 🗃️8.文件缓冲区 &#x1f…

如何使用YOLOv8推荐的Roboflow来制作训练自己的数据集

YOLOv8是Ultralytics开发的YOLO目标检测和图像分割模型的最新版本,相较于之前的版本,YOLOv8可以更快速有效地识别和定位图像中的物体,以及更准确地分类它们。 YOLOv8需要大量的训练数据来实现最佳性能。为了让YOLOv8能够有效地识别自己的应用…

【UE】保存游戏的demo

效果 注意左上角的打印信息,每当我按下k键,值就加1。当我关闭后重进游戏,按下k键,值是从上次退出游戏的值开始累加的。 步骤 1.新建蓝图,父类为“SaveGame” 命名为“MySaveGame”并打开 新建一个整型变量&#xff0c…

ODOO业财一体贸易行业ERP全面管理系统(核心流程简介)

前言: 贸易行业的两大管理难点在: 1.订单的跟踪效率:订单从报价、寄样、采购材料、委外加工、质检、入库、出库、收款,跟踪环节多,信息分散,跟单员难以把握订单执行进度,因此也导致延期交货等…

户外电源强制国标发布或加速行业洗牌 未来产品将往大容量及轻量化发展

一、户外电源行业概述 户外电源是一种内置锂离子电池的低碳绿色小型储能设备,又称“大号充电宝”、“便携式储能”。是电化学储能的分支,优在“便捷”,具有多次循环充放电、适配广泛、安全便捷的特点,在户外各场景中应用广泛受到…

Ubuntu安装k8s的Dashboard

介绍 Dashboard 是基于网页的 Kubernetes 用户界面。您可以使用 Dashboard 将容器应用部署到Kubernetes 集群中,也可以对容器应用排错,还能管理集群本身及其附属资源。您可以使用Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者…

从Allegro进行反标

从Allegro进行反标 目的反标流程常见问题 目的 通过反标,可以将Allegro中交换的管脚或重新编排的位号,一键更新到原理图中。 反标流程 从Capture输出最新网表文件: Capture Menu -> Tools -> Creat Netlist将最终的PCB设计文件放在…

Java:MybatisPlus--条件构造器

1、条件构造器类别 ①wrapper:抽象类,条件类的顶层,提供了一些获取和判断相关的方法。 ②AbstractWrapper:抽象类,Wrapper的子类,提供了所有的条件相关方法。 ③AbstractLambdaWrapper:抽象类…