之前研究过一些可视化工具/开源框架,包括powerBI、Tableau和Superset等。
Superset是Airbnb开源BI数据分析与可视化平台(曾用名Caravel、Panoramix),该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres, Presto, sqlite, Redshift, Impala, SparkSQL, Greenplum, MSSQL。
总结记录一下Superset安装配置和基础使用。
1. 安装(CentOS & Win)
1.1 CentOS (参考https://blog.csdn.net/qq273681448/article/details/75050513)
yum makecache
sudo easy_install -i http://pypi.douban.com/simple/ pip
sudo easy_install pip
sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
#安装Superset
pip install superset
#创建管理员用户名和密码
fabmanager create-admin --app superset
#初始化Superset
superset db upgrade
#装载初始化样例数据
superset load_examples
#创建默认角色和权限
superset init
#启动Superset
superset runserver
数据库 | 命令 | 链接方式 |
---|---|---|
MySQL | pip install mysqlclient | mysql:// |
Postgres | pip install psycopg2 | postgresql+psycopg2:// |
Presto | pip install pyhive | presto:// |
Oracle | pip install cx_Oracle | oracle:// |
sqlite | sqlite:// | |
Redshift | pip install sqlalchemy-redshift | redshift+psycopg2:// |
MSSQL | pip install pymssql | mssql:// |
Impala | pip install impyla | impala:// |
SparkSQL | pip install pyhive | jdbc+hive:// |
1.2 Windows(参考https://zhuanlan.zhihu.com/p/36223295)
1.2.1 安装虚拟环境virtualenv(需要安装Python,并配置环境变量)
pip install virtualenv
1.2.2 使用virtualenv。先在D盘建立d:\pycharm\superset目录。
d:
md pycharm
cd pycharm
md superset
cd superset
1.2.3 激活
cd d:\pycharm\superset
# 创建虚拟环境
virtualenv env
# 激活,启用虚拟环境(必须要用反斜杆)
env\Scripts\activate
激活之后的界面如上图,注意在命令行输入的左侧有(env)标记,这样我们的后续操作都会在env中生效,不会影响整体的pyhton环境。
1.2.4 安装VS2015,2017好像不行。
1.2.5 安装sasl。不装这个包,可能superset安装会不成功。下载地址
1.2.6 前置项安装完毕,开始安装superset。(在这步出现问题,pip install python-geohash一直报错,最后卸载VS2015,安装Microsoft Visual C++ 14.0解决)
pip install superset
# 创建管理员帐号
fabmanager create-admin --app superset
# 初始化数据库 (windows下,先进入到
Python安装目录(或者virtualEnv的虚拟目录)下,lib\site-packages\superset\bin下)
Python superset db upgrade
# 加载例子(后续操作都需要在lib\site-packages\superset\bin下)
Python superset load_examples
# 初始化角色和权限
Python superset init
# 启动服务,端口 8088, 使用 -p 更改端口号。
Python superset runserver -d
1.2.7 使用浏览器,打开localhost:8088即可看到登录页面。
1.2.8 数据库连接:mysql://root:[email protected]/crawler?charset=utf8。连接数据库之前一定要安装mysqlclient包:pip install mysqlclient
Superset支持的数据库:
2. Superset基础使用手册
2.1 创建数据源
2.1.1 连接新数据库
点击加号(+)新增数据源
2.1.2 添加数据表
2.1.3 数据表查看、编辑
2.2 数据探索分析与可视化展示
Table定义好维度字段和指标之后,即可针对该表进行数据探索分析与可视化展示,在List Table页面,点击一个表名,即可进入。
在分析页面中,可以针对某一个表事先定义的时间字段、维度及指标字段进行数据探索分析,并可以选择相应的图表进行可视化展示。
2.2.1 可视化图表类型选择
选择可视化图表类型。Superset自带的图表类型如上,包括柱状图、饼图、时间序列线图、堆积图、图表、热词图等。
2.2.2 数据时间范围选择
选择:
2.2.3 维度展示选择、图表可视化选择
可视化选择
2.2.4 坐标轴编辑
2.2.5 自定义查询/过滤
2.2.6 查询可视化保存
2.2.7 Dashboard编辑
编辑每个Slice对应的模块,可以自由拖拽位置和大小,并保存整个Dashboard的布局。
2.2.8 多表关联查询
在数据表编辑界面,可通过Database Expression,运用SQL语句实现多表关联查询。