superset是由Airbnb开源的轻量级BI分析工具。主要有三大功能:使用数据可视化来探索你的数据,通过交互式的Dashboard来查看你的数据,通过Sql Lab来编写sql查询你的数据。
1.如果没有安装docker,首先下载安装docker,docker下载地址:https://docs.docker.com/desktop/mac/install/
2.下载superset的代码
$ git clone https://github.com/Apache/superset.git
3.通过Docker Compose启动Superset
$ cd superset
$ docker-compose -f docker-compose-non-dev.yml up
耐心等待一会,因为会下载postgresql 和 redis等镜像,安装完成后,使用账户admin,密码admin
登陆成功之后可以查看charts图表
注意:默认使用docker安装的时候,superset会初始化,load 样例数据,如果网络有问题访问不了github的话,登陆进去可能看不到dashboard等样例数据
配置数据源
支持的数据源
superset支持的数据源
添加数据库
编辑数据库的链接
配置数据集 (需要注意的是1.0开始支持虚拟表,就是使用sql定义一张表)
从上一步配置的数据库中选择一张表当数据集
配置表中的字段信息
在数据集表上可以定义度量
这边配置表的时候,可以注意一下,1.0版本开始支持扩展字段了,就是你可以自己使用sql表达式定义一个你想要的虚拟字段出来,譬如可以:sum(amt) as total_amt. 如下图:
虚拟字段
配置charts图表
点击我们上面刚定义好的数据表,就可以进入数据探索页面
数据集
在下面使用数据探索功能的时候,可以多注意一下指标的定义方式,现在支持三种,一种是直接选择你之前在数据集上定义的指标,一种是选择一个字段和聚合函数定义指标,最后一种就是直接写sql表达式定义指标
探索数据
配置chart
在数据探索页面,我个人觉得比较好的地方是,在chart type处可以选择非常多的图片类型。这点可以免除很多的前端开发报表的工作
配置dashboard
我们在上一步探索好数据之后,可以直接点击保存,存储在dashboard
保存探索的数据
dashboard
后端:整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy。
此外,也关注到Superset的缓存机制值得我们学习:
前端:reat & nvd3.org & d3
优点: 代码开源,扩展很方便。图表样式很丰富。支持的数据源比较全。虚拟列和虚拟表的支持让自助分析更加便捷
缺点:只支持同一个数据库的join查询。查询性能取决于后端存储的db,如果要生产使用的话运维要求比较高。数据探索时对用户的Sql能力有一定的要求。
总体来说:在开源的自助BI分析工具里面,superset可以排在前列!