引用以下文章链接,做了一个简单的笔记:一个简单的数据分析平台搭建教程 http://www.woshipm.com/data-analysis/760397.html
优秀的数据分析平台,首先要满足数据查询、统计、多维分析、数据报表等功能,替代原始的SQL+EXCEL的工作形式。
互联网公司在整合获取公司数据集合的基础上,如何敏捷分析获得洞察是需要解决的重点问题。
当前市面上有不少收费的分期平台和BI工具,对于数据分析需求要求不高的企业来说,可以免费建立一套BI系统,既可以满足单机版分析,也能私有化部署到服务器,成为公司级别的分析工具。
Superset
superset是一款轻量级的BI工具,由Airbnb的数据部门开源,整个项目基于python框架,集成了Flask、D3、Pandas、SqlAIchemy等。它的前端基于D3,绝大部分的可视化图表都支持。
superset本身集成了数据查询功能,可以支持各类主流数据库,包括MySQL、PostgresSQL、Oracle、Impala、SparkSQL等,深度支持Druid.
后台支持权限分配管理,针对数据源分配账户,所以在部署服务器后,分析师们可以通过它查询数据,也能通过数据简历Dashboard报表。
安装方法:
1、superset支持python2和python3,支持pip形式的下载,不建议直接安装,因为superset依赖包较多,直接安装很容易和现有模块产生冲突。
2、先搭建python的虚拟环境,可以帮助我们在单机上建立多个版本的python,且彼此互相独立。虚拟环境的安装方式有pyenv和virtualenv等,这里用Anaconda自带的conda工具,
3、电脑输入“/cmd”,输入:conda create -n superset python=3.4
conda create 是创建虚拟环境的命令,-n 是环境的命名参数,这个句子创建了名为superset的环境,安装在Anaconda的envs目录下,python版本为3.4,暂时不支持3.6。
该命令只会安装基础包,若要额外安装其他包,在命令行后加上想要的包名字即可,如python=3.4 numpy pandas
4、安装完成后,我们的python环境还是默认版本,现在需要激活虚拟环境。
source activate superset
source activate 是激活命令,superset是想要激活的虚拟环境名,windows和mac的命令不一样,win只要activate superset,退出的命令是:source deactivate或者deactivate。
5、激活成功后,命令行前面会多出一个前缀,superset,表明切换到了新的虚拟环境,接下来安装superset。
pip install superset
pip 会自动安装所有的依赖、速度可能有点慢,建议更改pip源。命令行后加上 -i http://pypi.douban.com/simple,使用豆瓣的镜像源。
安装过程中报错,是部分程序缺失导致的,比如系统老的win,需要安装新版的visual C++。
6、安装成功后,需要进行初始化配置,也是在命令行输入:fabmanager create-admin -app superset
首先用命令行创建一个admin管理员账户,也是后续的登录账号,会依次提示输入账户名,账户使用者的first name、last name、邮箱、以及确认密码。fabmanager是flask 的权限管理命令,如果忘记了密码,能重新设立。
7、启用方式:
初始化数据源:superset db upgrade
载入案例数据:superset load_examples
初始化默认的用户角色和权限:superset runserver
启动superset服务,本地环境在浏览器输入http://localhost:8088即可。在runserver后面添加-p XXXX可更改为其他端口。
进入登录界面,输入登录密码,大功告成。
8、汉化处理:
首先,将当前的英文版进行汉化,superset自身支持语言切换。
进入到superset所在目录文件,比如:anaconda/envs/superset/lib/python3.4/site-packages/superset,在目录下有个叫config.py的文件,打开它,找到setup default language,修改变量:BABEL_DEFAULT_LOCAL调整为zh,这样界面默认为中文。languages字典中zh前面的注释#去掉,保存后退出即可。
接下来,在superset的目录下新建文件夹,按translations/zh/LC_MESSAGES的路径一次创建三个。
superse官网提供了汉化包,在GitHub上下载,目录为:https://github.com/apache/incubator-superset/blob/master/superset/translations/zh/LC_MESSAGES/messages.mo
下载后,把mo文件放在LC_MESSAGES文件下,清楚浏览器的缓存,重新登录localhoset.
9、模块介绍:
superset分为多个模块,安全模块是账号管理相关,包括角色列表、视图权限控制、操作日志等。管理模块主要是用来设计元素。
数据源可以访问和连接数据库,切片是各类数据可视化,看板即为Dashboard。
10、优劣势分析:
功能类似于tableau,使用的是ORM框架,在连接数据库的时候有一个关系映射过程,将SQL数据转化为python中的对象,造成大数据量的处理效率不如专业的BI软件,在使用SQL工具箱时,应该尽量避免超大表之间的关联,以及复杂的group by。能够支持TB级别的数据源读取,技术比较成熟的团队,可以尝试将superset和kylin整合。
superset中的表是独立的,多图表的复杂联动不支持,仅支持过滤。