superset数据架构图
2024-08-23 12:23:49 22 举报
Superset数据架构图展示了一个高度可扩展、灵活的数据分析平台。它以数据库(如MySQL、PostgreSQL、SQLite等)为基础,存储并管理大量数据。数据通过ETL(提取、转换、加载)过程从不同数据源(如CSV、JSON、Excel等)抽取出来,然后进行处理和清洗。Superset支持多种可视化工具,如Tableau和Power BI,以及自己的可视化组件,以生成丰富多样的图表和仪表盘。此外,它还通过其RESTful API与其他系统和应用集成。整个系统运行在Docker容器中,便于部署和维护。
作者其他创作
大纲/内容
创建
3
数据处理
用户请求数据
监听任务队列
缓存检查
数据库数据源
Excel/CSV/JSON数据集
数据库数据集
2
数据来源
查询结果
1
SQL数据集
API数据集
4
5
关联数据集
6
看板
7
图表
8
SQL数据
9
10
API数据源
11
文件数据数据源
12
缓存
查询对象
数据集
Celery任务执行单元
查询
Superset系统
Redis存储结果
缓存命中
1. Superset 接收到用户的查询请求后,将查询的 SQL 语句以及相关参数(如过滤条件、时间范围等)进行哈希处理,生成一个唯一的缓存 Key。这个 Key 用来标识该查询,并用于后续的缓存操作。
从任务生产者创建需要异步执行的任务并将其发送到 Celery 中间件的任务队列开始,Celery Worker监听队列并执行任务逻辑,将结果存储在Redis中,最终任务消费者通过查询获取任务执行状态和结果,实现了完整的异步任务处理流程。
Superset 缓存原理流程图
数据源
发送任务请求
检查 Redis 缓存中是否存在该 Key
结束
执行任务存储结果
可视化数据
数据资产
元数据数据库
缓存未命中
总结: 当用户请求数据时,系统首先检查 Redis 缓存,如果缓存命中则直接返回数据;如果缓存未命中,系统会查询相应的数据源(如 MySQL 或其他数据库),将查询结果存储到 Redis 缓存中,并返回数据给用户;如果启用了 Celery,未命中的查询任务会由 Celery 异步处理,Celery 从数据源获取数据并更新 Redis 缓存,然后通知用户获取结果。
用户
查询请求
缓存数据库
确定数据源
开始
生成查询key
MySQL数据库
Celery异步任务
Superset 数据流
Celery缓存
返回缓存数据给用户
Celery异步处理任务
存储
数据切片和切块
可视化展示
数据查询
Celery定时任务
格式转换
Redis任务队列
Celery调度器
用户校验
缓存存储
数据转换
访问
调用查询引擎
任务执行
数据文件数据源
Superset 数据架构图
数据可视化展示
数据格式化
从 Redis 中获取缓存数据
查询数据库
更新
存储结果到Redis
...
Celery 与 Redis 之间的工作流程图
数据序列化
收藏
0 条评论
下一页