BI可视化-Superset

Superset

说明：

业务需要，需要分析经营数据。之前是 elasticsearch + grafana。因为 grafana 属于时序性的可视化工具，对于数据的挖掘与预警不是很给力。所以开始寻找新的开源工具；今天的注脚就是 superset

安装：

选择了 docker 安装
hub.docker.com 搜了一下。直接用官方方法：

Copy
$ docker run -d -p 8080:8088 --name superset apache/superset

With your local superset container already running...

Setup your local admin account

Copy
$ docker exec -it superset superset fab create-admin \
--username admin \
--firstname Superset \
--lastname Admin \
--email admin@superset.com \
--password admin

Migrate local DB to latest

Copy
$ docker exec -it superset superset db upgrade

Load Examples

Copy
$ docker exec -it superset superset load_examples

Setup roles

Copy
$ docker exec -it superset superset init

Login and take a look -- navigate to http://localhost:8080/login/ -- u/p: [admin/admin]

需要装一个 es 插件，因为我的库是 es

Copy
$ docker exec -it superset pip install elasticsearch-dbapi

小试牛刀

导入数据源：elasticsearch

登录后 --> 右上角 setting --> Database Connections

新页面 --> 右上角 +DATABASE 寻找 es。按格式添加就行。
elasticsearch+http://192.168.100.68:9200/

之后的操作就是：

创建一个 Datasets；我理解就是一个先从数据库按时间格式搞出一套数据。

画图 --Charts；

把图添加到 Dashboards；

刚开始我导入的 es 数据没有时间器，不支持序列的图。查看原因是导入的数据日期列给我识别的格式是字符串。网上查了一圈，说是需要在导入的时候，把日期列格式化成 epoch_ms

【假装有图床】

但是我尝试搞了一下不行。最后把数据源删除，重新增加 es 的数据源。

神奇的是 data 列 识别的格式变成 Datetime 了。那这一切问题就好解决了

深入探索：

画图

1、线、柱、点常规图

这些时间序列的图，基本都 OK。

也可以把时间区间随图展示出来，加入到 Dashboards 后，也可以按之前选定的时间大区间内再随意调整显示。

高级选项内也可以按时间段分割。求和、平均、最大、最小等。。。

2、饼图

常规正常显示，只能按预选时间段的数据进行显示。

相较于线形图，不能提供 datetime 选择性显示。

可以选择 sunburst (一种类复合饼图)，效果还不错。

3、其他图形

其他图形也都支持的不错。大部分都测试通过。

总结：

优点：

支持 docker 部署，我比较中意这个。

支持导入的数据库也很多，因为我用的 es。测试效果还不错

支持的图形种类齐全，可以做出炫酷的 Dashboard

缺点：

Dashboard 不支持参数。这样就不能按时间选择显示，也不能按条件查询。

画图过程太繁琐，导入数据后还得先 Dataset。

只能按预先想好的查询语句画图。比较死板！！！

总体来说，还是不错的，只是不符合我的需求。假如只统计提前订好的计划，做出漂亮的 Dashboard 还是很炫酷的！