人是视觉动物,要用数据把一个故事讲活,图表是必不可少的。如果你经常看到做数据分析同事,在SQL客户端里执行完查询,把结果复制/粘贴到Excel里再做成图表,那说明你的公司缺少一个可靠的数据可视化平台。数据可视化是Business Intelligence(简称BI)中的核心功能,有许多成熟的解决方案,例如今天要介绍的 Superset 。
Superset最初是由Airbnb的数据团队开源的,目前已进入Apache Incubator,算是明星级的开源项目。
特性
- 一个直观的界面来探索和可视化数据集,并创建交互式仪表板。
- 展示数据的一系列漂亮的可视化效果。
- 简单、无代码的用户流可以深入挖掘、切分暴露仪表板下的数据。仪表盘和图表作为深入分析的起点。
- SQL编辑器/IDE的一种状态,显示了丰富的元数据浏览器,以及从任何结果集中创建可视化的简单工作流。
- 一个可扩展的、高粒度的安全模型,允许关于谁可以访问哪些产品特性和数据集的复杂规则。与主要身份验证后端(数据库、OpenID、LDAP、OAuth、REMOTE_USER、…)的集成
- 一个轻量级语义层,允许通过定义维度和度量来控制数据源如何向用户公开
- 大多数sql语言数据库的开箱即用支持
- 与 Druid 的深度整合,允许超集保持快速,同时切片和切分大型实时数据集
- 具有可配置缓存的快速加载仪表板
限制
一个 Superset SQLAlchemy 数据源只能是一个单个的表或者视图。
https://superset.incubator.apache.org/faq.html
支持的数据库
- MySQL
- Postgres
- Vertica
- Oracle
- Microsoft SQL Server
- SQLite
- Greenplum
- Firebird
- MariaDB
- Sybase
- IBM DB2
- Exasol
- MonetDB
- Snowflake
- Redshift
- Clickhouse
资料
- https://airbnb.io/projects/superset/ (官网)
- https://github.com/apache/incubator-superset
- https://superset.incubator.apache.org/index.html
- https://hub.docker.com/r/amancevice/superset/
- https://github.com/amancevice/superset
安装
本次基于如下环境进行安装和使用
1 | # 操作系统 |
下载官方推荐的 docker 镜像
1 | docker pull amancevice/superset:0.26.3 |
create config dir
mkdir /superset/conf
create data dir
mkdir /superset/data
start superset
docker run -d -p 8088:8088 -v /superset/conf:/etc/superset -v /superset/data:/var/lib/superset –name superset amancevice/superset:0.26.3
1 |
|
使用浏览器登陆
打开宿主机上的浏览器,输入http://localhost:8088 用你刚刚创建的用户名进行登录即可。
迁移
备份数据
如果在启动时,数据目录是挂载出来的,那么可以忽略数据
如果数据目录是在 docker 容器内的,那么先把数据库文件拷出来,superset 官方默认使用 sqlite 数据库,该数据库可以直接拷贝数据库文件,如果使用了其他数据库请参照对应的数据库备份方法备份。
1 | docker cp superset:/var/lib/superset/superset.db . |
将superset.db 拷贝到新机器的/superset/data 目录下,数据备份完成。
启动服务
在新的机器上安装好 docker,实现 pull 好 superset 的镜像。执行下列命令启动就可以了。
1 | docker run -d -p 8088:8088 -v /superset/conf:/etc/superset -v /superset/data:/var/lib/superset --name superset amancevice/superset:0.26.3 |
升级
与迁移类似,先备份数据,方式参考迁移的备份数据。
1 | # Pull desired version |
参考资料
======================
Erdong, A Linux user !