轻量级BI工具Superset1.0

概述superset是由Airbnb开源的轻量级BI分析工具 。主要有三大功能:使用数据可视化来探索你的数据,通过交互式的Dashboard来查看你的数据,通过Sql Lab来编写sql查询你的数据 。
特点

  1. 功能强大且易于使用
  2. 丰富的数据库集成支持
  3. 代码开源高度可扩展
  4. 丰富的可视化和仪表盘
安装上手
  • 基于Docker安装(如果只是技术调研,建议使用docker)
1.如果没有安装docker,首先下载安装docker,docker下载地址:https://docs.docker.com/desktop/mac/install/2.下载superset的代码$ git clone https://github.com/Apache/superset.git3.通过Docker Compose启动Superset$ cd superset$ docker-compose -f docker-compose-non-dev.yml up耐心等待一会,因为会下载postgresql 和 redis等镜像,安装完成后,使用账户admin,密码admin
  • 从头开始的安装方法 :https://superset.apache.org/docs/installation/installing-superset-from-scratch

轻量级BI工具Superset1.0

文章插图
登陆成功之后可以查看charts图表
注意:默认使用docker安装的时候,superset会初始化,load 样例数据,如果网络有问题访问不了github的话,登陆进去可能看不到dashboard等样例数据
使用指南配置数据源
支持的数据源
轻量级BI工具Superset1.0

文章插图
superset支持的数据源

轻量级BI工具Superset1.0

文章插图
添加数据库

轻量级BI工具Superset1.0

文章插图
编辑数据库的链接
配置数据集 (需要注意的是1.0开始支持虚拟表,就是使用sql定义一张表)
轻量级BI工具Superset1.0

文章插图
从上一步配置的数据库中选择一张表当数据集

轻量级BI工具Superset1.0

文章插图
配置表中的字段信息

轻量级BI工具Superset1.0

文章插图
在数据集表上可以定义度量
这边配置表的时候,可以注意一下,1.0版本开始支持扩展字段了,就是你可以自己使用sql表达式定义一个你想要的虚拟字段出来,譬如可以:sum(amt) as total_amt. 如下图:
轻量级BI工具Superset1.0

文章插图
虚拟字段
配置charts图表
点击我们上面刚定义好的数据表,就可以进入数据探索页面
轻量级BI工具Superset1.0

文章插图
数据集
在下面使用数据探索功能的时候,可以多注意一下指标的定义方式,现在支持三种,一种是直接选择你之前在数据集上定义的指标,一种是选择一个字段和聚合函数定义指标,最后一种就是直接写sql表达式定义指标
轻量级BI工具Superset1.0

文章插图
【轻量级BI工具Superset1.0】探索数据

轻量级BI工具Superset1.0

文章插图
配置chart
在数据探索页面,我个人觉得比较好的地方是,在chart type处可以选择非常多的图片类型 。这点可以免除很多的前端开发报表的工作
配置dashboard
我们在上一步探索好数据之后,可以直接点击保存,存储在dashboard
轻量级BI工具Superset1.0

文章插图
保存探索的数据

轻量级BI工具Superset1.0

文章插图
dashboard
代码介绍后端:整个项目的后端是基于Python的,用到了Flask、Pandas、SqlAlchemy 。
  • Flask AppBuilder(鉴权、CRUD、规则)
  • Pandas(分析)
  • SqlAlchemy(数据库ORM)
此外,也关注到Superset的缓存机制值得我们学习:
  • 采用memcache和Redis作为缓存
  • 级联超时配置
  • UI具有时效性控制
  • 允许强制刷新
 
前端:reat & nvd3.org & d3
 
优缺点优点: 代码开源,扩展很方便 。图表样式很丰富 。支持的数据源比较全 。虚拟列和虚拟表的支持让自助分析更加便捷
缺点:只支持同一个数据库的join查询 。查询性能取决于后端存储的db,如果要生产使用的话运维要求比较高 。数据探索时对用户的Sql能力有一定的要求 。


推荐阅读