1. 首页 > 软件下载 > 正文

Apache Superset下载-Superset数据可视化平台下载地址-Superset下载方法

1. Apache Superset简介与版本说明

Apache
Superset是一款开源的现代化数据探索和可视化平台,由Airbnb开源并贡献给Apache基金会。更多学习教程www.fgedu.net.cn。Superset提供丰富的可视化图表类型、交互式仪表盘、SQL编辑器等功能,帮助企业快速构建数据分析和BI应用。

Superset支持多种数据源,包括MySQL、PostgreSQL、Oracle、Hive、Presto、ClickHouse等。学习交流加群风哥微信:
itpux-com。它具有直观的Web界面,无需编写代码即可创建精美的数据可视化图表。

Apache Superset核心特性:

– 丰富图表:内置40+可视化图表类型
– 交互式仪表盘:支持拖拽式仪表盘创建
– SQL编辑器:强大的SQL查询和编辑功能
– 多数据源:支持30+数据库和大数据引擎
– 安全认证:支持多种认证方式和权限控制
– 缓存机制:支持Redis、Memcached缓存
– 告警报告:支持定时报告和告警通知
– 嵌入式分析:支持将图表嵌入第三方应用
– 扩展插件:支持自定义可视化插件
– 多租户:支持多租户和团队协作

Superset架构组件:

组件 说明
Web Server Web服务器,提供HTTP服务
Database 元数据库,存储仪表盘和图表配置
Cache 缓存服务,加速查询响应
Celery 异步任务队列,处理后台任务
SQL Lab SQL编辑器,交互式查询
Charts 图表组件,数据可视化
Dashboards 仪表盘,图表集合

2. Superset版本选择与下载地址

Apache Superset采用快速迭代发布模式,当前最新稳定版本为6.0.0系列。

Superset版本状态:

版本号 发布日期 说明
6.0.0 2025-XX-XX 最新稳定版
5.0.0 2025-06-23 稳定版
4.1.x 2024-XX-XX 旧版支持
3.1.x 2023-XX-XX 旧版支持

Superset 6.0.0主要更新:
– 全新的UI设计
– 性能优化
– 新增图表类型
– 安全性增强
– 告警报告功能增强
– 嵌入式分析改进

官方下载地址:

Superset官网:https://superset.apache.org/
下载页面:https://pypi.org/project/apache-superset/
源码仓库:https://github.com/apache/superset
文档中心:https://superset.apache.org/docs/
Docker镜像:https://hub.docker.com/r/apache/superset

3. Superset下载方式详解

方式一:pip安装(推荐)

创建Python虚拟环境:
$ python3 -m venv /fgeudb/superset/venv
$ source /fgeudb/superset/venv/bin/activate

安装Superset:
(venv) $ pip install apache-superset==6.0.0

输出示例如下:
Collecting apache-superset==6.0.0
Downloading apache_superset-6.0.0-py3-none-any.whl (45.6 MB)
Collecting flask>=2.2.0
Downloading flask-3.0.0-py3-none-any.whl (101 kB)
Collecting sqlalchemy>=2.0.0
Downloading sqlalchemy-2.0.23-py3-none-any.whl (2.0 MB)

Successfully installed apache-superset-6.0.0 flask-3.0.0 sqlalchemy-2.0.23 …

初始化数据库:
(venv) $ superset db upgrade

输出示例如下:
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
INFO [alembic.runtime.migration] Running upgrade -> 1a1d627ebd8e, empty message

INFO [alembic.runtime.migration] Running upgrade 1e2841a4354c -> 2f1d15d7e8a3, empty message

创建管理员用户:
(venv) $ superset fab create-admin

输出示例如下:
Username [admin]: admin
User first name [admin]: Admin
User last name [user]: User
Email [admin@fab.org]: admin@fgedu.net.cn
Password:
Repeat for confirmation:
Recognized Database Authentications.
Admin User admin created.

加载示例数据:
(venv) $ superset load_examples

初始化角色和权限:
(venv) $ superset init

输出示例如下:
Loading your Local configuration
Syncing role definition
Syncing Admin perms
Syncing Alpha perms
Syncing Gamma perms
Syncing granter perms
Syncing sql_lab perms
Syncing Public perms
Finished syncing role definitions

方式二:Docker容器部署

拉取官方镜像:
$ docker pull apache/superset:6.0.0

输出示例如下:
6.0.0: Pulling from apache/superset
Digest: sha256:abc123def456…
Status: Downloaded newer image for apache/superset:6.0.0

启动Superset容器:
$ docker run –name superset \
-p 8088:8088 \
-v /fgeudb/superset/superset_home:/app/superset_home \
-e “SUPERSET_SECRET_KEY=your_secret_key_here” \
-d apache/superset:6.0.0

输出示例如下:
abc123def456789…

初始化Superset:
$ docker exec -it superset superset db upgrade
$ docker exec -it superset superset fab create-admin \
–username admin \
–firstname Admin \
–lastname User \
–email admin@fgedu.net.cn \
–password admin123
$ docker exec -it superset superset init

查看容器状态:
$ docker ps | grep superset

输出示例如下:
abc123def456 apache/superset:6.0.0 “/usr/bin/dumb-init …” 10 seconds ago Up 9 seconds 0.0.0.0:8088->8088/tcp
superset

方式三:Docker Compose部署

创建docker-compose.yml:
$ vi /fgeudb/superset/docker-compose.yml

version: ‘3.8’
services:
superset:
image: apache/superset:6.0.0
container_name: superset
ports:
– “8088:8088”
environment:
– SUPERSET_SECRET_KEY=your_secret_key_here
– DATABASE_URI=mysql://superset:superset123@mysql:3306/superset
– REDIS_URL=redis://redis:6379/0
volumes:
– ./superset_home:/app/superset_home
depends_on:
– mysql
– redis
restart: always

mysql:
image: mysql:8.0
container_name: superset-mysql
environment:
– MYSQL_ROOT_PASSWORD=root123
– MYSQL_DATABASE=superset
– MYSQL_USER=superset
– MYSQL_PASSWORD=superset123
volumes:
– ./mysql_data:/var/lib/mysql
restart: always

redis:
image: redis:7.0
container_name: superset-redis
volumes:
– ./redis_data:/data
restart: always

启动服务:
$ cd /fgeudb/superset
$ docker-compose up -d

输出示例如下:
Creating superset-mysql … done
Creating superset-redis … done
Creating superset … done

4. Superset安装部署实战

步骤1:安装依赖环境

安装Python 3.10+:
# yum install -y python39 python39-pip python39-devel

或Ubuntu/Debian:
# apt install -y python3.10 python3.10-venv python3.10-dev

验证Python版本:
$ python3 –version

输出示例如下:
Python 3.10.12

安装系统依赖:
# yum install -y gcc gcc-c++ libffi-devel openssl-devel cyrus-sasl-devel openldap-devel

创建目录结构:
# mkdir -p /fgeudb/superset/{venv,superset_home,logs}

步骤2:配置元数据库

安装MySQL:
# yum install -y mysql-server
# systemctl start mysqld
# systemctl enable mysqld

创建Superset数据库:
# mysql -u root -p

mysql> CREATE DATABASE superset DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> CREATE USER ‘superset’@’%’ IDENTIFIED BY ‘superset123’;
mysql> GRANT ALL PRIVILEGES ON superset.* TO ‘superset’@’%’;
mysql> FLUSH PRIVILEGES;

安装MySQL驱动:
(venv) $ pip install mysqlclient

步骤3:配置Redis缓存

安装Redis:
# yum install -y redis
# systemctl start redis
# systemctl enable redis

验证Redis:
$ redis-cli ping

输出示例如下:
PONG

安装Redis驱动:
(venv) $ pip install redis

步骤4:配置Superset

创建配置文件:
(venv) $ vi /fgeudb/superset/superset_config.py

import os

SECRET_KEY = ‘your_secret_key_here_change_in_production’

SQLALCHEMY_DATABASE_URI = ‘mysql://superset:superset123@192.168.1.51:3306/superset’

REDIS_URL = ‘redis://192.168.1.51:6379/0’

CACHE_CONFIG = {
‘CACHE_TYPE’: ‘RedisCache’,
‘CACHE_DEFAULT_TIMEOUT’: 300,
‘CACHE_KEY_PREFIX’: ‘superset_’,
‘CACHE_REDIS_URL’: REDIS_URL,
}

DATA_CACHE_CONFIG = {
‘CACHE_TYPE’: ‘RedisCache’,
‘CACHE_DEFAULT_TIMEOUT’: 86400,
‘CACHE_KEY_PREFIX’: ‘superset_data_’,
‘CACHE_REDIS_URL’: REDIS_URL,
}

FILTER_STATE_CACHE_CONFIG = {
‘CACHE_TYPE’: ‘RedisCache’,
‘CACHE_DEFAULT_TIMEOUT’: 86400,
‘CACHE_KEY_PREFIX’: ‘superset_filter_’,
‘CACHE_REDIS_URL’: REDIS_URL,
}

EXPLORE_FORM_DATA_CACHE_CONFIG = {
‘CACHE_TYPE’: ‘RedisCache’,
‘CACHE_DEFAULT_TIMEOUT’: 86400,
‘CACHE_KEY_PREFIX’: ‘superset_explore_’,
‘CACHE_REDIS_URL’: REDIS_URL,
}

CELERY_CONFIG = {
‘broker_url’: REDIS_URL,
‘imports’: (‘superset.sql_lab’,),
‘result_backend’: REDIS_URL,
‘worker_prefetch_multiplier’: 1,
‘task_acks_late’: True,
}

SQLLAB_CTAS_NO_LIMIT = True
SQLLAB_ASYNC_TIME_LIMIT_SEC = 60 * 60 * 6
SQLLAB_TIMEOUT = 60 * 30
SUPERSET_WEBSERVER_PROTOCOL = ‘http’
SUPERSET_WEBSERVER_ADDRESS = ‘192.168.1.51’
SUPERSET_WEBSERVER_PORT = 8088
ENABLE_PROXY_FIX = True
PREFERRED_URL_SCHEME = ‘http’

设置环境变量:
(venv) $ export SUPERSET_CONFIG_PATH=/fgeudb/superset/superset_config.py

步骤5:启动Superset服务

启动Web服务:
(venv) $ superset run -p 8088 –with-threads –reload

输出示例如下:
[2026-04-04 10:05:00 +0800] [12345] [INFO] Starting gunicorn 21.2.0
[2026-04-04 10:05:00 +0800] [12345] [INFO] Listening at: http://0.0.0.0:8088 (12345)
[2026-04-04 10:05:00 +0800] [12345] [INFO] Using worker: gthread
[2026-04-04 10:05:00 +0800] [12346] [INFO] Booting worker with pid: 12346

启动Celery Worker(后台任务):
(venv) $ celery –app=superset.tasks.celery_app:app worker –loglevel=info &

启动Celery Beat(定时任务):
(venv) $ celery –app=superset.tasks.celery_app:app beat –loglevel=info &

访问Web界面:
打开浏览器访问:http://192.168.1.51:8088
默认用户名:admin
默认密码:admin123

步骤6:配置systemd服务

创建服务文件:
# vi /etc/systemd/system/superset.service

[Unit]
Description=Apache Superset
After=network.target mysql.service redis.service

[Service]
Type=simple
User=superset
Group=superset
Environment=”SUPERSET_CONFIG_PATH=/fgeudb/superset/superset_config.py”
Environment=”PATH=/fgeudb/superset/venv/bin”
ExecStart=/fgeudb/superset/venv/bin/gunicorn -w 4 -k gevent –timeout 120 -b 0.0.0.0:8088
“superset.app:create_app()”
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

创建Celery Worker服务:
# vi /etc/systemd/system/superset-worker.service

[Unit]
Description=Superset Celery Worker
After=network.target redis.service

[Service]
Type=simple
User=superset
Group=superset
Environment=”SUPERSET_CONFIG_PATH=/fgeudb/superset/superset_config.py”
Environment=”PATH=/fgeudb/superset/venv/bin”
ExecStart=/fgeudb/superset/venv/bin/celery –app=superset.tasks.celery_app:app worker –loglevel=info
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

重载并启动服务:
# systemctl daemon-reload
# systemctl start superset
# systemctl start superset-worker
# systemctl enable superset
# systemctl enable superset-worker

5. Superset配置文件详解

核心配置参数

安全配置:
SECRET_KEY = ‘your_secret_key_here’ 密钥,必须修改
WTF_CSRF_ENABLED = True 启用CSRF保护
WTF_CSRF_TIME_LIMIT = None CSRF令牌有效期
SESSION_COOKIE_SECURE = False Cookie安全标志
SESSION_COOKIE_SAMESITE = ‘Lax’ Cookie SameSite属性

数据库配置:
SQLALCHEMY_DATABASE_URI = ‘mysql://…’ 元数据库连接
SQLALCHEMY_TRACK_MODIFICATIONS = False 禁用修改追踪
SQLALCHEMY_POOL_SIZE = 10 连接池大小
SQLALCHEMY_POOL_RECYCLE = 3600 连接回收时间

缓存配置:
CACHE_CONFIG = {…} 应用缓存配置
DATA_CACHE_CONFIG = {…} 数据缓存配置
FILTER_STATE_CACHE_CONFIG = {…} 过滤状态缓存

Celery配置:
CELERY_CONFIG = {…} Celery任务队列配置

Web服务器配置:
SUPERSET_WEBSERVER_PROTOCOL = ‘http’ 协议
SUPERSET_WEBSERVER_ADDRESS = ‘0.0.0.0’ 地址
SUPERSET_WEBSERVER_PORT = 8088 端口
ENABLE_PROXY_FIX = True 代理支持

认证配置

LDAP认证配置:
from flask_appbuilder.security.manager import AUTH_LDAP

AUTH_TYPE = AUTH_LDAP
AUTH_USER_REGISTRATION = True
AUTH_USER_REGISTRATION_ROLE = “Gamma”

LDAP配置:
LDAP_SERVER = “ldap://ldap.fgedu.net.cn”
LDAP_PORT = 389
LDAP_USE_SSL = False
LDAP_SEARCH = “ou=users,dc=fgedu,dc=net,dc=cn”
LDAP_UID_FIELD = “uid”
LDAP_BIND_USER = “cn=admin,dc=fgedu,dc=net,dc=cn”
LDAP_BIND_PASSWORD = “admin_password”

OAuth认证配置:
from flask_appbuilder.security.manager import AUTH_OAUTH

AUTH_TYPE = AUTH_OAUTH
AUTH_USER_REGISTRATION = True
AUTH_USER_REGISTRATION_ROLE = “Gamma”

OAUTH_PROVIDERS = [
{
‘name’: ‘github’,
‘icon’: ‘fa-github’,
‘remote_app’: {
‘client_id’: ‘your_client_id’,
‘client_secret’: ‘your_client_secret’,
‘api_base_url’: ‘https://api.github.com/’,
‘request_token_url’: None,
‘access_token_url’: ‘https://github.com/login/oauth/access_token’,
‘authorize_url’: ‘https://github.com/login/oauth/authorize’,
}
}
]

6. Superset仪表盘创建实战

步骤1:添加数据源

1. 登录Superset Web界面
2. 点击”Settings” -> “Database Connections”
3. 点击”+ DATABASE”
4. 选择数据库类型:MySQL
5. 输入连接信息:
– Host: 192.168.1.51
– Port: 3306
– Database: fgedu_db
– Username: superset
– Password: superset123
6. 点击”Test Connection”测试连接
7. 点击”Connect”保存

SQLAlchemy URI格式:
mysql://superset:superset123@192.168.1.51:3306/fgedu_db
postgresql://user:pass@host:5432/db
oracle://user:pass@host:1521/sid
hive://hive@host:10000/default
presto://user@host:8080/catalog/schema
clickhouse://user:pass@host:8123/db

步骤2:创建数据集

1. 点击”Datasets” -> “Datasets”
2. 点击”+ DATASET”
3. 选择数据库:MySQL – fgedu_db
4. 选择表:sales_data
5. 点击”Add”创建数据集

配置数据集:
1. 点击数据集名称进入编辑
2. 配置列类型和语义
3. 设置时间列
4. 添加计算列
5. 配置指标
6. 点击”Save”保存

步骤3:创建图表

创建柱状图:
1. 点击”Charts” -> “+ CHART”
2. 选择数据集:sales_data
3. 选择可视化类型:Bar Chart
4. 配置图表:
– X轴:sales_date
– Y轴:SUM(sales_amount)
– 分组:product_category
5. 点击”Create Chart”创建

创建折线图:
1. 选择可视化类型:Line Chart
2. 配置图表:
– X轴:sales_date
– Y轴:SUM(sales_amount)
– 分组:region
3. 添加移动平均线
4. 点击”Create Chart”创建

创建饼图:
1. 选择可视化类型:Pie Chart
2. 配置图表:
– 维度:product_category
– 度量:SUM(sales_amount)
3. 点击”Create Chart”创建

创建地图:
1. 选择可视化类型:Map
2. 配置图表:
– 经度:longitude
– 纬度:latitude
– 大小:sales_amount
3. 点击”Create Chart”创建

步骤4:创建仪表盘

1. 点击”Dashboards” -> “+ DASHBOARD”
2. 输入仪表盘名称:销售数据分析
3. 从左侧拖拽图表到仪表盘
4. 调整图表大小和位置
5. 添加筛选器:
– 时间筛选器
– 地区筛选器
– 产品筛选器
6. 添加Markdown文本说明
7. 点击”Save”保存仪表盘

仪表盘配置:
– 设置自动刷新间隔
– 配置交叉筛选
– 设置默认筛选值
– 配置权限

7. 安装验证与测试

查看Superset状态

查看进程状态:
$ ps -ef | grep superset

输出示例如下:
superset 12345 1 5 10:10 ? 00:00:30 /fgeudb/superset/venv/bin/python …
superset 12346 1 2 10:10 ? 00:00:10 /fgeudb/superset/venv/bin/celery …

查看端口监听:
$ netstat -tlnp | grep 8088

输出示例如下:
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 12345/python

访问Web界面:
打开浏览器访问:http://192.168.1.51:8088

检查API:
$ curl http://192.168.1.51:8088/health

输出示例如下:
{“status”: “healthy”}

检查版本:
(venv) $ superset version

输出示例如下:
Superset 6.0.0
Python 3.10.12
Flask 3.0.0

功能测试

测试数据库连接:
1. 登录Superset
2. 进入SQL Lab
3. 选择数据库
4. 执行测试查询:
SELECT 1 as test;

测试图表创建:
1. 创建测试数据集
2. 创建测试图表
3. 验证图表显示正确

测试仪表盘:
1. 创建测试仪表盘
2. 添加多个图表
3. 测试筛选功能
4. 验证数据刷新

测试缓存:
$ redis-cli
127.0.0.1:6379> keys superset_*

8. 常见问题与解决方案

问题1:数据库连接失败

症状:无法连接到数据库

解决方案:
1. 检查数据库服务状态:
# systemctl status mysql

2. 检查网络连通性:
$ telnet 192.168.1.51 3306

3. 检查用户权限:
mysql> SHOW GRANTS FOR ‘superset’@’%’;

4. 检查防火墙:
# firewall-cmd –add-port=3306/tcp –permanent
# firewall-cmd –reload

5. 安装数据库驱动:
(venv) $ pip install mysqlclient

问题2:图表加载缓慢

症状:图表加载时间过长

解决方案:
1. 启用数据缓存:
DATA_CACHE_CONFIG = {
‘CACHE_TYPE’: ‘RedisCache’,
‘CACHE_DEFAULT_TIMEOUT’: 86400,
}

2. 优化查询:
– 添加数据库索引
– 使用分区表
– 减少数据量

3. 增加Worker数量:
gunicorn -w 8 …

4. 启用异步查询:
配置Celery Worker

问题3:登录失败

症状:无法登录Superset

解决方案:
1. 重置管理员密码:
(venv) $ superset fab reset-password

2. 检查认证配置:
确认AUTH_TYPE配置正确

3. 检查LDAP连接:
确认LDAP服务器可达

4. 查看日志:
$ tail -f /fgeudb/superset/logs/superset.log

Superset管理命令

初始化数据库:
(venv) $ superset db upgrade

创建管理员:
(venv) $ superset fab create-admin

重置密码:
(venv) $ superset fab reset-password

加载示例:
(venv) $ superset load_examples

初始化权限:
(venv) $ superset init

查看版本:
(venv) $ superset version

导出仪表盘:
(venv) $ superset export-dashboards

导入仪表盘:
(venv) $ superset import-dashboards -p dashboard.json

启动服务:
(venv) $ superset run -p 8088

启动Worker:
(venv) $ celery –app=superset.tasks.celery_app:app worker

生产环境建议
1. 使用Superset 6.0.0最新稳定版本;2. 使用MySQL作为元数据库;3. 配置Redis缓存加速查询;4. 启用Celery处理异步任务;5. 配置HTTPS安全访问;6.
使用LDAP/OAuth统一认证;7. 定期备份元数据库;8. 配置资源限制防止过载;9. 监控服务运行状态;10. 定期更新版本修复漏洞。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息