【大数据】Apache Superset:可视化开源架构

Apache Superset是什么

Apache Superset 是一个开源的现代化数据可视化和数据探索平台,主要用于帮助用户以交互式的方式分析和展示数据。有不少丰富的可视化组件,可以将数据从多种数据源(如 SQL 数据库、数据仓库、NoSQL 数据库等)中提取并以图表、表格、仪表盘等形式进行展示。

支持连接多种数据源,如 MySQL、PostgreSQL、SQLite、Apache Druid、Presto、Google BigQuery 等。

这是它的官方网站:https://superset.apache.org/

在这里插入图片描述
在这里插入图片描述

Ubuntu18.04裸机部署Superset 4.0

1.更新系统

sudo apt update && sudo apt upgrade -y

2.安装python3.9(apache superset4.0依赖3.9及以上版本python)

注意:不能使用3.9以下版本,不然会有很多问题!
安装python3.9:

wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
tar xf Python-3.9.18.tgz
cd Python-3.9.18/
./configure --enable-optimizations
sudo make altinstall
python3.9 --version

3.安装数据库并配置(PostgreSQL)

sudo apt install -y postgresql postgresql-contrib
sudo -u postgres psql
CREATE USER superset_user WITH ENCRYPTED PASSWORD 'Superset123!';#your_password
CREATE DATABASE superset OWNER superset_user;
GRANT ALL PRIVILEGES ON DATABASE superset TO superset_user;
\q

4.创建superset文件:/opt/superset/superset_config.py

sudo mkdir -p /opt/superset/
sudo nano /opt/superset/superset_config.py

写入:

#SQLALCHEMY_DATABASE_URI = 'sqlite:path/to/superset.db'
## 格式为 “协议://用户:密码@数据库地址/数据库名”,注意数据库密码中不要包含 @ 字符,如存在记得改掉
## 下面分别为 MySQL 和 PostgreSQL 配置,按需使用
#SQLALCHEMY_DATABASE_URI = 'mysql://superset_user:Superset123!@localhost/superset'
SQLALCHEMY_DATABASE_URI = 'postgresql://superset_user:Superset123!@localhost/superset'# 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 = ''## 下面为缓存配置,先注释,存在兼容性问题尚未解决
#CACHE_CONFIG = {
#    "CACHE_TYPE": "RedisCache",
#    "CACHE_DEFAULT_TIMEOUT": 300,
#    "CACHE_KEY_PREFIX": "superset_",
#    'CACHE_REDIS_URL': 'redis://0.0.0.0:6379/0'
#}
#DATA_CACHE_CONFIG = CACHE_CONFIG

5.进入python虚拟环境并做配置

python3.9 -m venv superset-venv
source superset-venv/bin/activate

提示:如果要退出虚拟环境,使用deactivate命令。

安装数据库引擎:

pip3 install wheel
#PostgreSQL (需要安装依赖 libpq-dev)
sudo apt update
sudo apt install libpq-dev
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple psycopg2

安装PIL依赖:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow

6.安装apache superset4.0并做配置

pip install --upgrade pip setuptools
pip install apache-superset

环境变量手动指定配置文件地址:

export SUPERSET_CONFIG_PATH=/opt/superset/superset_config.py
export FLASK_APP=superset

7.初始化apache superset

#初始化数据库
superset db upgrade
#创建管理员账户
superset fab create-admin
#初始化默认角色和权限
superset init
#可选,数据量较大,需要等待较长时间
superset load_examples
#启动Superset
superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger

初始化成功后,Superset在http://localhost:8088上运行。

8.系统启动后手动启动方式

source superset-venv/bin/activate
export SUPERSET_CONFIG_PATH=/opt/superset/superset_config.py
export FLASK_APP=superset
export SUPERSET_SECRET_KEY="oh-so-secret"
#启动Superset
superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger

常见问题

问题1:如果执行superset db upgrade报错:Error: Could not locate a Flask application. Use the ‘flask --app’ option, ‘FLASK_APP’ environment variable, or a ‘wsgi.py’ or ‘app.py’ file in the current directory.
执行以下:

export FLASK_APP=superset
superset db upgrade

问题2:如果执行命令提示:
(superset-venv) sds@sds:~$ superset db upgrade: Refusing to start due to insecure SECRET_KEY
执行:export SUPERSET_SECRET_KEY=“oh-so-secret” 忽略安全性验证。

问题3:如果提示“No PIL installation found”。
执行:

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow

问题4:如果提示:sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near “extra”: syntax error
是由于superset默认使用sqlite数据库,其版本本身存在问题,解决方法要么重新安装sqlite,要么使用其他数据库即可。
推荐使用PostgreSQL。

问题5:如果执行“superset load_examples”下载示例数据报错:ConnectionRefusedError: [Errno 111] Connection refused。
是由于无法访问外网导致,执行以下命令使用代理联系外网:

export http_proxy="http://192.168.31.13:7890"
export https_proxy="http://192.168.31.13:7890"
export socks_proxy="socks5://192.168.31.13:7891"

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

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

相关文章

开源 vGPU 方案 HAMi 解析

开源 vGPU 方案 HAMi 一、k8s 环境下 GPU 资源管理的现状与问题 (一)资源感知与绑定 在 k8s 中,资源与节点紧密绑定。对于 GPU 资源,我们依赖 NVIDIA 提供的 device-plugin 来进行感知,并将其上报到 kube-apiserver…

反射的底层实现原理?

Java 反射机制详解 目录 什么是反射?反射的应用反射的实现反射的底层实现原理反射的优缺点分析 一、什么是反射? 反射是 Java 编程语言中的一个强大特性,它允许程序在运行期间动态获取类和操纵类。通过反射机制,可以在运行时动…

【技术支持】安卓无线adb调试连接方式

Android 10 及更低版本,需要借助 USB 手机和电脑需连接在同一 WiFi 下;手机开启开发者选项和 USB 调试模式,并通过 USB 连接电脑(即adb devices可以查看到手机);设置手机的监听adb tcpip 5555;拔掉 USB 线…

Golang学习历程【第六篇 复合数据类型map函数初识】

Golang学习历程【第六篇 复合数据类型map&函数初识】 1. Map数据类型1.1. Map声明和初始化1.2. Map 遍历1.3 Map增删改查 2. function (函数)2.1 函数各种定义方式 1. Map数据类型 Map结构是键值对的集合,其中每个键都是唯一的,并且每个键都映射到一…

《框架程序设计》期末复习

目录 Maven 简介 工作机制(★) 依赖配置(★) Maven命令 MyBatis 入门 单参数查询(★) 多参数查询(★★★) 自定义映射关系(★★★) 基本增删改查操…

于交错的路径间:分支结构与逻辑判断的思维协奏

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。* 这一节内容很多,文章字数达到了史无前例的一万一,我们要来学习分支与循环结构中…

ffplay 命令行 从视频第N帧开始读取 ffmpeg 命令行 提取第N帧图片

ffmpeg中没有直接的命令读取第N帧 但是可以通过 t N/framerate 来获取到具体第N帧的时间 然后用 -ss t进行跳转。 比如帧率(frame rate)为24fps的视频G:/1/1.mp4文件从第1000帧开始进行播放,先计算出时间为 t 41.66666 ffplay -i G:/1/1.…

计算机图形学【绘制立方体和正六边形】

工具介绍 OpenGL:一个跨语言的图形API,用于渲染2D和3D图形。它提供了绘制图形所需的底层功能。 GLUT:OpenGL的一个工具库,简化了窗口创建、输入处理和其他与图形环境相关的任务。 使用的函数 1. glClear(GL_COLOR_BUFFER_BIT |…

探秘block原理

01 概述 在iOS开发中,block大家用的都很熟悉了,是iOS开发中闭包的一种实现方式,可以对一段代码逻辑进行封装,使其可以像数据一样被传递、存储、调用,并且可以保存相关的上下文状态。 很多block原理性的文章都比较老&am…

科大讯飞前端面试题及参考答案 (下)

除了 echarts 还了解其它画图工具吗? 除了 Echarts,还有不少优秀的画图工具可供选择使用。 Highcharts:它是一款功能强大且应用广泛的图表绘制工具,支持多种常见的图表类型,像柱状图、折线图、饼图、散点图等,同时也能创建较为复杂的图表,比如仪表盘图表、极坐标图等。H…

【HarmonyOS Next NAPI 深度探索2】N-API 的工作机制与架构

【HarmonyOS Next NAPI 深度探索2】N-API 的工作机制与架构 如果你听说过 N-API,但还不太了解它的作用和背后的工作机制,那这篇文章会帮你捋清楚它的结构和原理。N-API 是 Node.js 提供的一个强大工具,专门用于开发高性能、可维护的原生模块…

vue3+ts+element-plus 对话框el-dialog设置圆角

对话框el-dialog设置圆角,实现的需求效果: 目前只能通过行内样式(style"border-radius: 20px")来实现圆角效果:

14综合面试篇(综合面试题)

目录 一、关于null的问题 二、springboot jar启动参数的配置linux Xms Xmx 三、java -jar 启动参数问题 四、 java打一个jar包放到linux服务器上,这种默认参数的启动,是怎么知道分配原则和配置原则? 五、Linux系统下jar包自启动 六、i,…

机器学习算法(三):K近邻(k-nearest neighbors)

1 KNN的介绍和应用 1.1 KNN的介绍 kNN(k-nearest neighbors),中文翻译K近邻。我们常常听到一个故事:如果要了解一个人的经济水平,只需要知道他最好的5个朋友的经济能力, 对他的这五个人的经济水平求平均就是这个人的经济水平。这…

大语言模型兵马未动,数据准备粮草先行

​从OpenAI正式发布ChatGPT开始,大型语言模型(LLM)就变得风靡一时。对业界和吃瓜群众来说,这种技术最大的吸引力来自于理解、解释和生成人类语言的能力,毕竟这曾被认为是人类独有的技能。类似CoPilot这样的工具正在迅速…

Network Compression(李宏毅)机器学习 2023 Spring HW13 (Boss Baseline)

1. Introduction to Network Compression 深度学习中的网络压缩是指在保持神经网络性能的同时,减少其规模的过程。这非常重要,因为深度学习模型,尤其是用于自然语言处理或计算机视觉的大型模型,训练和部署的计算成本可能非常高。网络压缩通过降低内存占用并加快推理速度,…

UnityDots学习(二)

在一里已经概述了什么是Dots,已经如果使用它,我们要做的思维转变。 简单总结下: Dots使用了计算器多核,已经3级缓存的优势,在此基础上使用Brust编译器对各个平台实现了代码优化。从而达到了加速提升的效果。 我们要…

Linux (CentOS) 安装 Docker 和 Docker Compose

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 …

c++ 预备

目录 前言 一,知识点的补充 二,c语言与c 三,面向对象的三大特点 前言 将进入c的学习,接下来是对于c的预备和c的一些预习 一,知识点的补充 1 标识符 标识符不能为关键字 标识符只能由下划线,数字&#xf…

SpringBoot项目实战(41)--Beetl网页使用自定义函数获取新闻列表

在Beetl页面中可以使用自定义的函数从后台新闻列表中获取新闻数据展示到页面上。例如我们可以从后台新闻表中获取新闻按照下面的格式展示&#xff1a; <li><a href"#">东亚非遗展即将盛妆亮相 揭起盖头先睹为快</a></li><li><a hre…