
Apache 顶级项目 · 74K stars · 50+ 数据库引擎 · Flask + React · 2026 仍在日更
写在前面
数据可视化这件事,闭源阵营有 Tableau、Power BI、Looker;开源阵营长期是 Superset、Metabase、Redash 三分天下。但 2026 年回头看:
- Redash 自被 Databricks 收购后基本停滞(最后一次 commit 还在 2023)
- Metabase 重心转向云端(Metabase Cloud),开源版本迭代明显放缓
- Superset 是唯一一个仍在 日更级活跃 的开源 BI,2026-08-01 还在推 commit
更关键的是 Superset 2025 年开始往项目里塞 LLM Context Guides(.claude/ + .cursor/rules 目录,2025-07-23 commit)—— 它是第一个把 ” 为 AI 辅助开发做上下文工程 ” 做到位的开源 BI。换句话说:你让 Claude Code 帮你改 Superset 代码,官方已经给你准备好了上下文。
这次调研就一件事:把这头 74K stars 的开源 BI 大象讲清楚,它凭什么活到今天、适合谁用、坑在哪里。
一、它解决什么问题
一句话:Superset 是一个云原生的开源数据探索与可视化平台,让你用 Web 界面或 SQL 直接查询任何 SQL 数据库,做图表、拼仪表盘、设权限、嵌入业务系统——可作为 Tableau / Looker / 帆软 FineBI 的开源替代。
基本信息
| 项 | 数据 |
|---|---|
| 项目名 | Apache Superset™ |
| 仓库 | apache/superset |
| 协议 | Apache-2.0(商用友好,可改名再分发) |
| 语言 | Python + TypeScript/React |
| Stars | 74,091 |
| Forks | 18,020 |
| Commits | 21,758(健康的大项目) |
| Open issues | 604(活跃但不至于积压) |
| Watch | 1,535 |
| 最近 commit | 2026-08-01(日更) |
| 起源 | Airbnb 数据团队(2017)→ Apache Incubator(2017)→ Apache 顶级(2021) |
| 最新 helm-chart | 0.22.4(2026-07-27) |
| 最新依赖升级 | pyarrow 24→25(2026-07-30 commit) |
二、核心能力全景
Superset 的能力清单在 README 上铺得很大,但拆开就是这五块:
1. SQL Lab —— Web 上的 SQL IDE
不是 ” 画个图 ” 的玩具,是给分析师真用的 SQL 编辑器:
- 多 Tab 并行查询(每个 Tab 独立连接、独立结果集)
- Jinja 模板(
{% if ... %} {{filter_values('xxx') }} {% endif %},把 Dashboard 过滤器接到 SQL 参数) - Query Search(所有查询历史可搜、可重跑、可分享)
- 结果集保存为 Virtual Dataset(ad-hoc 探索结果一键变成可复用的 Dataset)
- 多数据库同会话(一个页面同时查 PG + ClickHouse + BigQuery)
对于懂 SQL 的人,这一条就值回票价——Metabase 的 ” 自定义查询 ” 做不到这个深度。
2. No-Code Chart Builder —— 40+ 图表拖拽
不写 SQL 也能用:
- 40+ 内置可视化:折线、柱状、饼图、Heatmap、Sunburst、Graph、Sankey、Funnel、Pivot Table、地理(deck.gl / Mapbox)
- Cross-Filter:A 图点柱子,B 图自动过滤(Tableau 同款体验)
- Drill-to-Detail:点柱子看明细行
- Drill-By:点柱子改维度重新聚合
- 自定义可视化插件(前端
@superset-ui/plugin-chart-*体系,可装 npm 包)
3. Semantic Layer —— 不动表也能改指标
很多 BI 工具的痛点:业务要个 ”GMV = 订单金额 – 退款 ” 的口径,但生产库只有原始字段,每次都有人 SQL 算错。
Superset 的 Semantic Layer 让你:
- 在 UI 上定义 虚拟列 / 虚拟指标(
SUM(amount) - SUM(refund)) - 给虚拟列起业务名(”GMV”)、加描述、加标签
- 所有用到这个 Dataset 的图表自动继承口径
- 不需要 ETL、不需要改源表
这跟 Cube.js / dbt Semantic Layer 是同一个赛道,但 Superset 把这一步 直接做进了 BI 工具内部,不用额外部署。
4. Cloud-Native Architecture —— 为 K8s 而生
架构上是经典的前后端分离 + 元数据库:
浏览器 → React SPA → Flask API → SQLAlchemy → 你的数据源
↓
PostgreSQL / MySQL(元数据库,只存配置 / 用户 / 图表定义)
部署选项:
- Docker(
apache/superset官方镜像,最快上手) - Docker Compose(含 Postgres + Redis + Celery 的完整 stack)
- Helm Chart(K8s 一键,含 ingress、gunicorn worker、celery beat、websocket)
- 裸机 pip install(Python ≥ 3.10)
WebSocket 子系统(superset-websocket,独立仓库)专门处理长连接:异步查询进度推送、实时图表刷新。在 2026 年这点很重要——查 ClickHouse / BigQuery 这种慢查询源,不会卡住浏览器。
5. 50+ 数据库引擎 —— SQLAlchemy + DB-API 一切皆可
官方支持列表节选:
| 类别 | 数据库 |
|---|---|
| OLTP 经典 | PostgreSQL / MySQL / MariaDB / SQL Server / Oracle / SQLite |
| OLAP 国产 | Apache Doris / StarRocks / ClickHouse / OceanBase / TDengine / Hologres |
| 云数仓 | BigQuery / Snowflake / Redshift / Databricks / Athena / Azure Synapse |
| 查询引擎 | Trino / Presto / Apache Drill / Apache Impala |
| 新兴 | DuckDB(本地 OLAP)/ MotherDuck / RisingWave / Apache Pinot |
| NoSQL | MongoDB / Elasticsearch / Couchbase |
| 国产时序 | TDengine / Apache IoTDB(2026-02 新增) |
| 协议层 | Shillelagh(让 Google Sheets / CSV / API 伪装成 SQL 表) |
连 国产时序库 IoTDB 都在官方列表里,2026 国产化场景可以直接对接。
接入逻辑:任何带 Python DB-API driver + SQLAlchemy dialect 的数据源都能用。哪怕没在官方列表,自己写个 dialect 也能接。
三、AI 时代的差异化能力(2025-2026 新增)
Superset 在 2025-07-23 引入了一个看似不起眼、实际很超前的特性:
feat: introduce comprehensive LLM context guides for AI-powered devel…
.claude/ + .cursor/rules
翻译:项目根目录多了 .claude/ 和 .cursor/rules/ 目录,专门给 Claude Code / Cursor 这些 AI 编辑器喂项目上下文。
三个 AI 相关动作
- 官方 LLM Context Guides(
.claude/) - 架构说明(
CLAUDE.md) - 前端 / 后端 / 扩展各自的开发指引
- 数据库驱动接入 SOP
-
改完之后让 AI 帮你跑 lint + 测试的脚本
-
.cursor/rules(Cursor IDE 专用) - 文件级生成规则(哪些文件 AI 可以改、哪些不能动)
- 代码风格约束
-
提交信息规范
-
自然语言 → SQL 实验(Lab feature flag)
- 配合 OpenAI / Claude API 把 SQL Lab 输入框变成 NL2SQL
- 还在实验,但 README 已经点名
LLM_QUERYfeature flag
这意味着什么 :当你想 ” 二开 Superset 加个自己的图表类型 / 数据库驱动 ”,让 Cursor 帮你写代码时, 官方已经把项目喂给 AI 的方式整理好了。对比很多开源 BI 让你 ” 先 clone 再慢慢啃 ”,Superset 这一点直接省你 1-2 天。
四、编辑器 / 浏览 / 工具能力细节
| 维度 | Superset 现状 |
|---|---|
| SQL 编辑器 | Monaco(VS Code 同款)+ 自动补全 + Jinja 模板高亮 |
| 图表渲染 | deck.gl / Mapbox / ECharts / D3 plugin 体系 |
| Dashboard 编辑 | Grid 拖拽 + Tabs + Markdown 卡片 + iframe 嵌入 |
| 权限粒度 | Role × Database × Schema × Table × Row Level(自建 RLS 表达式) |
| 认证 | DB / LDAP / OAuth / OIDC / SAML / Remote User(基本全协议) |
| 告警 / 报告 | 条件触发邮件 / Slack 截图 / Celery beat 调度(需启用 ALERT_REPORTS flag) |
| 嵌入 | superset-embedded-sdk(一行 JS 嵌到任意 SPA,配 RBAC) |
| API | 完整 REST + OpenAPI 3(Dashboard / Chart / Dataset 全部可程序化创建) |
| 缓存 | Redis 缓存层(query result cache + filter cache)+ 自定义 TTL |
| i18n | 中英文双语 + 多语言插件机制 |
Row Level Security 是 Superset 的隐藏王牌:可以写一条 SQL
WHERE department = {{current_user_department() }}把权限嵌进 Dataset,业务方自助做分析但看不到隔壁部门数据。
五、对比主流 BI 工具
| 维度 | Apache Superset | Metabase | Redash | Tableau |
|---|---|---|---|---|
| Stars | 74K | 36K | 24K | 闭源 |
| License | Apache-2.0 | AGPL(云端闭源) | MIT(已停滞) | 商业 |
| 图表类型 | 40+(含地理) | ~20 | ~20 | 60+(最强) |
| SQL IDE | Monaco + Jinja | 基础自定义查询 | ✅ SQL 友好 | 无(拖拽) |
| Semantic Layer | ✅ 内置 | ❌ | ❌ | ✅ 计算字段 |
| 数据库支持 | 50+(含国产) | 20+ | 30+ | ~50 |
| 嵌入 SDK | ✅ 官方 | ✅ 官方 | ❌ | ✅ |
| 告警 / 报告 | ✅ Celery + 邮件 /Slack | ✅ 邮件 | ✅ Webhook | ✅ 邮件 |
| 活跃度(2026) | 日更 | 半年级大版本 | 停滞 | N/A |
| 学习曲线 | 中(SQL 必会) | 低 | 低 | 中 |
| 生产运维 | 重(Python 单体) | 轻(Java/Clojure) | 轻(Flask) | 无(云端) |
| 商用成本 | $0 | $0(开源)/ $5-15/ 月(云) | $0 | $70/ 月 / 人起 |
核心结论
- 要 SQL 深度 + 50+ 数据库 + 云原生部署 → Superset
- 要 ” 业务方 10 分钟自助上手 ” + 简单拖拽 → Metabase
- 只要个 SQL 查询界面做临时报表 → Redash(已停滞,建议直接 Superset SQL Lab)
- 不差钱 + 团队非技术 → Tableau
- 国产化信创 / Doris / IoTDB / 麒麟系统 → Superset(官方 driver 齐全)
六、实战:3 步跑通
Step 1:Docker 一键起
docker pull apache/superset
docker run -d -p 8088:8088 \
--name superset \
apache/superset:latest
Step 2:初始化(首次)
docker exec -it superset superset db upgrade
docker exec -it superset superset init
docker exec -it superset superset fabcreate-admin \
--username admin --firstname Admin --lastname User \
--email admin@superset.com --password admin
默认账号 admin / admin,生产前必须改。
Step 3:接数据库 + 出图
-- 在 SQL Lab 里直接跑
SELECT
DATE_TRUNC('day', order_at) AS day,
COUNT(*) AS orders,
SUM(amount) AS gmv
FROM public.orders
WHERE order_at >= '2026-07-01'
GROUP BY 1
ORDER BY 1;
然后 “Explore” → 选 Line Chart → X 轴 =day,Y 轴 =gmv → 保存为 Chart → 拖进 Dashboard。
整个流程 不到 5 分钟。
七、风险与坑
- 默认元数据库是 SQLite(生产前必换 Postgres)—— Docker 镜像里默认
sqlite:///启动,单点 + 无并发,三人同时配置 Dashboard 就会锁表。 - Helm Chart 仍在小版本迭代(7/27 还在 0.22.x)—— 生产锁定建议走
0.22.4+,别追 main 分支。 - 重 —— Python 单体 + Node 前端,4 核 8G 起,生产建议 8 核 16G 起。对比 Metabase 一个 jar 跑起来,Superset 是真 ” 大象 ”。
- 认证默认
AUTH_DB(用户名密码在元数据库),对接企业 SSO 需要手动配 OIDC / LDAP,文档散在 admin-docs。 - Row Level Security 用 Jinja 表达式(
WHERE tenant_id = {{current_user_id() }}),写错会全表暴露 —— 上线前必须用最小权限账号回归测试。 - 告警 / 报告默认关闭 ——
ALERT_REPORTS=False是默认 flag,要 Celery beat + Headless Browser(Chrome/Firefox),自己起服务才能用。 - 可视化插件前端打包 —— 自己写的
@superset-ui/plugin-chart-*需要前端 build step,纯后端工程师上手会卡。
八、总结
三个最值得装的理由
- 唯一仍在日更的开源 BI(2026-08-01 还在推 commit,Redash 死了,Metabase 重心转云),且 Apache 顶级项目背书 + Apache-2.0 商用友好
- 50+ 数据库 + 国产化全支持(Doris / StarRocks / OceanBase / TDengine / IoTDB 官方 driver 齐全),信创场景首选
- AI 友好 —— 官方
.claude/+.cursor/rules喂好上下文,让 Cursor 帮你二开省 1-2 天
一句话
如果你的团队懂 SQL + 数据源超过 5 个 + 想 SaaS / 私有化 / 信创三栖,Superset 是 2026 年开源 BI 的唯一正确选择。
先试一周:Docker 起一个 → 接你最常用的 PG 或 ClickHouse → SQL Lab 跑两条 ad-hoc → 拖一张图进 Dashboard,体验就到位了。