Superset部署与Mapbox配置

Superset 安装指引 说明:自己不是专业人员,完全自己一步一步试错过来的,仅仅是业余安装,仅作参考。环境:ubuntu 24 + Anaconda3 + Mysql8 + Superset + Python 3.9。 阅读详情

一、前言

暑期实习倒数第三个工作日,实在是看不下去源码了,一周从头开始做一个可视化工具然后给人家留个烂尾项目也不现实。pgAdmin4对于PostgreSQL的支持很完美,包括备份与还原都支持,但是实在是没有二次开发的教程。昨晚看到一个Superset,看起来不错而且也看到不少二次开发的博客(虽然基本都没写什么内容),尝试部署一下,如果能改个前端那就最好了。

二、部署

Linux系统可以用Docker快速部署,Windows则需要通过Python进行安装。

2.1 Linux

2.1.1 安装Docker
yum -y install docker

systemctl start docker
2.1.2 部署superset镜像
# 查询存在的superset镜像
docker search superset

# 下载官方镜像
docker pull docker.io/amancevice/superset

# 查看镜像
docker images

# 启动镜像
docker run -d -p 8088:8088 -v /root/superset:/home/superset amancevice/superset

# 查询容器id
docker ps

接下来需要按照官方教程里的语句进行初始化:

# 初始化数据库
docker exec -it {容器id} superset db upgrade

# 创建一个管理员用户
docker exec -it {容器id} superset fab create-admin

# 可选,加载示例
docker exec -it {容器id} superset load_examples

# 初始化
docker exec -it {容器id} superset init

现在你可以在浏览器中打开:http://localhost:8088,并使用刚刚创建的管理员用户进行登录

2.2 Windows

由于Windows只有专业版才可以安装Docker(或v2004以上使用WSL2.0),所以我们只能从头依赖开始慢慢安装。

2.2.1 系统依赖

superset使用了cryptography这个python库对连接密码进行加密,由于这个库有操作系统级别的依赖,所以需要如下方式安装:

  1. 下载get-pip.py,并执行python get-pip.py(可能需要管理员权限)
  2. pip install cryptography
2.2.2 虚拟环境

官方推荐使用python虚拟环境来安装superset,我本机由于一些原因直接安装在了全局,有需要可以搭建虚拟环境:

# 搭建虚拟环境
python3 -m venv venv

# 启动虚拟环境
venv\Scripts\activate

# 关闭虚拟环境
venv\Scripts\deactivate
2.2.3 安装工具
pip install --user --upgrade setuptools pip

此处若不加入–user则可能失败

2.2.4 superset安装
# 安装superset
pip install apache-superset

# 以下语句可能需要在 /superset/bin 中才可执行
# 初始化数据库
python superset db upgrade

# 创建管理员用户
python superset fab create-admin

# 可选,加载样例
python superset load_examples

# 初始化
python superset init

# 开始运行
python superset run -p 8088 --with-threads --reload --debugger

如果在虚拟环境中启用,则不需要前面的python前缀。

三、数据库连接

用浏览器打开http://localhost:8088,登陆创建的管理员帐号,在Sources中选择Databases就可以添加新的数据库。

superset使用的是SqlAlchemy的连接方式,对于PostgreSQL,在URI中应该输入:

postgresql://{username}:{password}@{ip}:{port}/{database}

例如:postgresql://postgres:postgres@localhost:5432/superset。

下方部分权限设置如下:

  1. Asynchronous Query Execution,异步查询。
  2. Allow CSV Upload,允许上传CSV更新数据库
  3. Allow CREATE TABLE AS,在SQL Lab中允许CREATE TABLE AS
  4. Allow CREATE VIEW AS,在SQL Lab中允许CREATE VIEW AS
  5. Allow DML,允许用户在SQL Lab中执行Select以外的语句

四、可视化

superset的可视化在Charts中,但是想要可视化我们必须先指定需要可视化的表。

在Sources-Tables添加新的记录,选择加入的PostgreSQL数据库,并填写模式和表名。

然后再进入Charts点击添加新的记录,此时就可以选择刚刚加入的表作为数据源了。点击Choose a visualization type可以选择可视化类型(后面可以修改),需要可视化图层可以过滤:deck.gl

4.1 Mapbox

配置完可视化图层并点击run后,你可能会看到提示:“NO_TOKEN_WARNING”,这是因为superset使用MapBOX作为最底层的图层,而它需要api key去调用。

首先去MapBox官网注册一个帐号,注册成功之后在Tokens中就可以看到自动分配的api密钥了。

然后你需要将这个密钥配置为环境变量,Linux下为:

export MAPBOX_API_KEY=<your_access_token>

Windows下,你只需要在/superset目录下找到config.py,并在其中进行配置:

# Set this API key to enable Mapbox visualizations
# MAPBOX_API_KEY = os.environ.get("MAPBOX_API_KEY", "")
MAPBOX_API_KEY = "你的密钥"

效果如下图:

可视化

五、Windows使用常见错误

我发现大多数这种开源项目对Windows的支持都很一般,Superset也不例外。看了看github上的issue,在2018年之前甚至是完全不支持Windows,好在现在多数功能都兼容,但是不论安装还是适配,Win上都要麻烦很多。

5.1 No module named psycopg2

在连接PostgreSQL数据库时,如果显示这个错误,那么说明你缺少了psycopg2这个包:

pip install psycopg2

注意,如果在Linux系统下缺少该包,那么你需要先yum install postgresql-devel,否则会提示"pg_config executable not found"

5.2 Module signal has no attribute SIGALRM

在使用SqlLab查询时会提示该错误。这个问题是由于signal包在Windows平台下只有如下几个信号:

  1. SIGABRT
  2. SIGFPE
  3. SIGILL
  4. SIGINT
  5. SIGSEGV
  6. SIGTERM

因此调用时会报错,解决办法为:修改site-packages/superset/utils/core.py中的__enter__和__exit__两个函数的内容如下:

    def __enter__(self) -> None:
        try:
            # signal.signal(signal.SIGALRM, self.handle_timeout)
            # signal.alarm(self.seconds)
            pass
        except ValueError as ex:
            logger.warning("timeout can't be used in the current context")
            logger.exception(ex)
    
    def __exit__(  # pylint: disable=redefined-outer-name,unused-variable,redefined-builtin
        self, type: Any, value: Any, traceback: TracebackType
    ) -> None:
        try:
            #signal.alarm(0)
            pass
        except ValueError as ex:
            logger.warning("timeout can't be used in the current context")
            logger.exception(ex)

六、二次开发

如果需要从源码进行编译,或者对superset进行二次开发,那么可以参考官方给出的搭建本地开发环境教程,或者参考一下博客:

  1. superset二次开发环境搭建
  2. superset源码安装
Superset windows10 环境完美安装记录 下载后安装直接点击安装,如果安装时在 setting up the base过程卡住,那么是下载的python版本没有对应Anaconda的安装的Python版本所以会卡住。然后在Superset目录下新建一个 superset_config.py 的文件,我们复制这个值SECRET_KEY =“”添加到 文件中。为了能够在每次启动项目时都能够读取到这个配置,所以要把这个文件添加到系统的换件变量里。上述步骤可能会出现一个警告,提示是默认的 SECRET_KEY被删除,需要使用。 阅读详情

相关推荐

生产环境安装 Superset4.0

生产环境安装Superset4.0

weixin_38908403的博客 1818

【Superset】地图无法显示的问题

分享一些关于Superset使用过程中遇到的一些问题!

你不来,再美的天地,都狼藉 ~ 1721

开源BI工具SuperSet使用指南

1. 开发环境源代码部署 1.1 后端环境 下载源码 git clone https://github.com/apache/superset.git 准备python 3.8.6的环境 # 安装pyenv管理python版本 brew install pyenv # 将如下代码加入~/.zshrc中 export PYENV_ROOT=~/.pyenv export PATH=$PYENV_ROOT/shims:$PATH if which pyenv > /dev/null; th

tsl365的博客 1137

测试环境搭建整套大数据系统(十一:docker部署superset,无密码登录嵌入html,http改为https)

参考文档。

weixin_43446246的博客 1211

superset-ui-plugins-deckgl:Superset的deck.gl插件

@ superset-ui / plugins-deckgl :electric_plug: :light_bulb: 演示(故事书) 最新版本: : 当前的主人: : 配套 包裹 版本 贡献与发展指南 请阅读,其中包括开发环境设置以及您在此存储库中应了解的有关编码的其他知识。 执照 阿帕奇2.0

Vivado实战:AXI转PCIe IP核配置全流程(含性能优化技巧)

本文详细介绍了在Vivado环境中配置AXI转PCIe IP核的全流程,包括工程准备、IP核参数设置、BAR空间配置、中断系统优化以及TLP传输效率提升等关键步骤。特别分享了经过验证的性能优化技巧,帮助开发者显著提升PCIe链路的吞吐量和稳定性,适用于视频采集、高速数据记录等应用场景。

weixin_30892037的博客 551

superset可视化-deck.gl Scatterplot与MapBox

数据集 注意: 仔细看这里的LON和LAT哈,都有一大堆的小数,如果前面导入的设置不注意Decimal(15,10)的话, 这里会全部变成122,最后可视化得到的就只有地图上的一个点了. 左侧设置 可视化效果 ...

微电子学与固体电子学-俞驰 1668

java modbus通讯协议_Modbus通 讯 协 议

电磁流量计Modbus通 讯 协 议(版本号:9000-K V9.1.1)2020年01月01日通讯协议针对KFD电磁流量计工业应用设计,版本:9000-K V9.1.1,该版本主要用于实时数据采集、流量测量、流量累计控制及部分参数的修改。一、主机系统通讯部件要求1.国际标准RS-485通讯接口部件,不小于11Bytes 的通信缓冲区(FIFO),支持1200、2400、4800、96...

weixin_39956612的博客 1009

superset保姆级教学

​关于这个superset的部署,因为公司有需要,经过了几天的折磨,总算是把这个superset部署成功了

weixin_43425054的博客 3842

Ubuntu22环境下Xinference与RAGFLOW集成:构建高效rerank模型服务【实战指南】

本文详细介绍了在Ubuntu22.04系统上,通过部署Xinference模型推理服务来加载bge-reranker-base等rerank模型,并将其与RAGFLOW框架集成的完整实战指南。该方案实现了模型服务的解耦与灵活管理,有效提升RAG系统的检索精度与答案相关性,并提供了从环境配置、服务启动、网络连接到性能调优及常见问题排查的全流程解决方案。

pluto的博客 499

STM32H7 Flash擦除后数据读取异常的缓存问题解析

本文深入分析了STM32H7系列芯片在Flash擦除后数据读取异常的缓存问题,揭示了由于数据缓存(D-Cache)和指令缓存(I-Cache)导致的数据一致性问题。通过详细的解决方案,包括手动维护缓存一致性和操作期间禁用缓存,帮助开发者有效解决这一常见但棘手的嵌入式开发难题。

weixin_29158413的博客 391

Superset从入门到真香

​一 superset概述 1.1官网 https://superset.apache.org/ 1.2简介 Superset快速,轻巧,直观,并带有各种选项,使各种技能的用户都可以轻松浏览和可视化其数据,从简单的折线图到高度详细的地理空间图。 Apache Superset(Incubating)是一种现代的,可用于企业的商业智能Web应用程序。它快速,轻巧,直观,并带有各种选项,使所有技能的用户都可以轻松浏览和可视化其数据,从简单的饼图到高度详细的deck.gl...

我的祖传代码 4万+

ST-LINK调试STM32H743必看:CubeMX工程中缺失的这行代码导致程序跑飞

本文深入剖析了使用ST-LINK调试STM32H743时,因CubeMX工程中缺失电源电压档位配置代码而导致程序跑飞或出现“Can not access memory”错误的问题。文章解释了H7系列电源与时钟耦合的核心原理,提供了具体的代码修复方案和系统化的调试排查思路,帮助开发者从根本上解决这一常见调试困境。

weixin_29191669的博客 278

superset docker 部署

superset酷炫的图表 Superset 一、使用自己的数据库 拉取项目 // 创建目录用于存放项目 mkdir -p /mnt/superset cd /mnt/superset git clone https://github.com/amancevice/superset.git 配置数据库等 这里默认你已创建了你自己的空数据库和具有读写该数据库权限的用户,到下面初始化时会自动在你的...

皮皮猪的博客 1109

手把手教你获取全国街道级GeoJSON数据:前端地图开发必备技巧

本文详细介绍了获取全国街道级GeoJSON数据的多种方法,从前端地图开发的实际需求出发,涵盖了免费获取省市县级数据的工具如阿里云DataV.GeoAtlas和HashTang,以及进阶的街道级数据获取方案,包括使用Bigemap GIS Office和专业数据采购。文章还提供了数据处理与优化技巧,帮助开发者高效使用GeoJSON数据进行地图可视化。

weixin_29053383的博客 288

Trustzone/TEE/安全 面试100问-目录

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CCA视频、学习资料下载、免费学习资料、免费 周贺贺,baron,代码改变世界ctw,Arm精选, 资深安全架构专家,十年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计

baron-周贺贺-代码改变世界ctw 649

cs-self-learning 的 CS50P 解析:零基础 30 小时跑通 Python 入门

你打算自学 Python,可以先在 [cs-self-learning](https://link.gitcode.com/i/a5365dd3c0393ee2d9253cef8c26e164) 里花 5 分钟把这门课的底牌看穿。读完这篇,你能定下三件事:哈佛 CS50P 适不适合你、30 到 40 小时的预算够不够、学完之后接哪门课。它没有先修要求,难度两星,是整套自学指南里最轻的起点之一。

gitblog_00267的博客 405

【C++PCL】点云文件读写

本文介绍 PCL 中 PCD 与 PLY 点云文件的读取、保存和字段检查,覆盖 PointXYZI、PointXYZRGB、ASCII、二进制及压缩二进制,并给出 C++11 实操代码与参数调试建议。

weixin_45196569的博客 40

Superset 地理可视化不显示地图怎么办?配置 MAPBOX_API_KEY

在 Apache Superset 中打开基于 Mapbox 的地理可视化图表(geospatial visualization)时,如果数据、经纬度列都正常但地图区域一片空白,官方 FAQ 给出的原因是:服务端没有配置 Mapbox 的 API key。本文说明如何获取 key、把它写进 Superset 的配置,以及配置后如何确认地图恢复显示。 ## 问题原因:缺少 MAPBOX_API_K

gitblog_00326的博客 443

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

dsh-purge 拆解:一个撕掉模型守则的「红队评测插件」

dsh-purge 自称是装在本机 DeepSeek Harness 上的「网络安全红队评测插件」,但 package.json 里的描述更直白:「Jailbreak for every model」。它的核心动作是向宿主模型的每一轮会话注入一段抹掉拒绝能力的默认提示词,即提示词注入(prompt injection)。仓库位于开源平台 GitHub_Trending/ds/dsh-purge,A

gitblog_00552的博客 300

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【superset安装】史上最全superset安装过程中错误解决方案

superset安装过程中各种错误的解决方案

m0_58195451的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Windows 11安装部署superset

一个是SECRET_KEY,需要把'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'替换为一个随机生成的字符串,生成方式可以先在命令行中执行openssl rand -base64 42,系统生成一个给你,复制到文件里即可。注意:创建并激活虚拟环境后,后面所有命令行都应该在该虚拟环境下执行,判断方式是对话路径前出现了你创建的虚拟环境名称:(superset_env)这步可能报错,基本都是各种包的版本兼容性问题,卸载重装合适版本的包,搜索报错信息应该都能找到解决方式。

Stay_Young的博客 2694

Windows下安装Superset

新版本会警告Refusing to start due to insecure SECRET_KEY,修改config.py文件(从上述文件路径中找)跨域问题TALISMAN_ENABLED = True改为False。WTF_CSRF_ENABLED = True 改为 False。进入superset界面设置->角色列表(list Roles)查询Public是否权限已经和Gamma一致,主要是赋予以下权限。可以只设置用户名合密码,邮箱等可以不用设置。最后将所需字段进行可视化展示。

QXXDYL的博客 1441

Superset安装

Superset的安装官网上也有比较详细的步骤,。不想踩坑当然推荐还是用docker方式,当然因为Superset本身是用python实现的,对于Python开发者来说,用pypi部署也不是难事,也是一个学习机会。本文主要是整理了下我部署过程的资料,以供借鉴。

计算机技术 614

开源的现代数据探索和可视化平台:Apache Superset 配置 config.py 模块

Apache Superset™ 是一个开源的现代数据探索和可视化平台。对于许多团队来说,Superset 可以取代或增强专有的商业智能工具。Superset 可以与各种数据源很好地集成。

船长Q的博客 2048
上一篇: pgAdmin4 CentOS7部署
下一篇: MySQL分布式集群配置—01 Ubuntu换源
Morphlng
博客等级 码龄8年 1157粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值