我有一个需求,手里有很多的数据,需要把这些数据进行可视化的分享,前端最好的Web,可以在手机和电脑上查看,在网上找了很多资料,最开始,计划自己用Django或Flask自己开发,但能力太有限了,很多考虑不足,没看在查找资料过程中,发现一个现成的框架:
▌Superset
Superset是Airbnb开源的数据挖掘平台
Github地址:https://github.com/airbnb/superset
官网地址:http://airbnb.io/projects/superset/
Superset之前叫做Caravel,还叫做过Panaramix。到今天为止,Superset在Github上已经有8200多个星了。以下内容翻译了Github上Superset简介的主要功能:
快速创建可交互的、直观形象的数据集合
有丰富的可视化方法来分析数据,且具有灵活的扩展能力
具有可扩展的、高粒度的安全模型,可以用复杂规则来控制访问权限。目前支持主要的认证提供商:DB、OpenID、LDAP、OAuth、和Flask AppBuiler的REMOTE_USER
使用简单的语法,就可以控制数据在UI中的展现方式
与Druid深度结合,可快速的分析大数据
配置缓存来快速加载仪表盘
Superset最初是在Druid.io的基础上设计的,但是通过使用SQLAlchemy(一种与大多数常见数据库兼容的Python ORM),迅速扩展了范围以支持其他数据库。
Superset是一款轻量级的BI工具,由Airbnb的数据部门开源。整个项目基于Python框架,不是Python我也不会推荐了,它集成了Flask、D3、Pandas、SqlAlchemy等。
这个刚好和我的需求一致,于是喜出望外地下载,开始实验。
▌安装
pip install superset
pip会自动安装所有的依赖,速度可能有点慢,建议更改pip源。
命令行后加上 -i https://pypi.douban.com/simple ,用豆瓣的镜像源,速度嗖嗖的。
如果安装过程中报错,是部分程序缺失,像系统比较老旧的win用户,需要安装新版的visual c++,网上搜索教程即可。在官网的教程中,还要求pip install cryptography==1.7.2,我没有安装也没有影响,供大家参考。其他报错,都可以通过搜索解决。
安装成功后,需要进行初始化配置,也是在命令行输入。
fabmanager create-admin --app superset
首先用命令行创建一个admin管理员账户,也是后续的登陆账号。会依次提示输入账户名,账户使用者的first name、last name、邮箱、以及确认密码。fabmanager是flask的权限管理命令,如果大家忘了密码,也能重新设立。
superset db upgrade
初始化数据源。
superset load_examples
载入案例数据,这里的案例数据是世界卫生组织的数据,也是上文演示的各类可视化图表,大家登陆后能够直接看到。下载速度还行。
superset init
初始化默认的用户角色和权限。
superset runserver -d
我用的是win7,支持不太好,所在以调试模式启动。在每一个命令前,都加了一个python
先进入目录*c:/Python27/scripts,再运行
<python superset runserver -d
在浏览器输入 http://localhost:8088 即可。
进入登陆界面,输入登陆密码,大功告成。
▌启动
新的Superset已经直接有了汉化,进入后点击即可汉化。
选择Chinese,熟悉的中文出现了。
输入刚刚设置的用户名、密码。
Superset分为多个模块,安全模块是账号管理相关,包括角色列表,视图权限控制,操作日志等。管理模块没什么用,主要是设计元素。
数据源可以访问和连接数据库,切片是各类数据可视化,均是单图;看板即为Dashboard,是切片的集合,Superset提供了三个初始案例,SQL工具箱是数据查询平台。
为了简便,我选择了和示例中一样的数据库sqlite。
由于是文件型的数据库,很简单,设置好位置就可以了。测试连接,成功。
数据表,就是对数据库中的表进行选取和处理。
选择一个表,可以查看内容。
可以做一些选取。进入切片,绘图。
还在进一步学习研究中,欢迎一起讨论。