一、Superset 简介
Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
Superset 的前端主要用到了 React 和 NVD3/D3,而后端则基于 Python 的 Flask 框架和 Pandas、SQLAlchemy 等依赖库,主要提供了这几方面的功能:
- 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。
- 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
- 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。
Superset 的搭建与使用非常简单,只需要一些 Python 基础
都说Superset 的搭建很简单,可是我自己却真正尝试了3,4遍才装好,windows和linux都试过,主要是环境、包和版本的各种坑,这次最新版1.2.0发布,我又摩拳擦掌的开始安装了,终于安装成功了,下面分享下这次安装过程,希望对Superset 感兴趣的人有所帮助。
二、环境准备
1、ANACONDA3 base环境
这次我使用的是windows环境,由于我上次配置spark开发环境,安装了ANACONDA3 python环境,这次就直接拿这个环境安装Superset 。ANACONDA3的安装配置见我的另一篇文章 安装Anaconda3配置python数据分析环境
2 安装apache-superset
我们打开ANACONDA3的控制台
在控制台界面
输入
pip install --upgrade apache-superset
开始下载包安装,安装过程中报错提示 :提示 python-geohash安装失败
这个在网上搜索了很多 Microsoft Visual C++ 14.0的安装工具,基本都是骗人的,很多csdn资源要50下载积分,我才不上当呢。这里推荐给大家一个人办法,可以使用.Net的开发工具安装包VisualStudio2017或2019来解决缺少Microsoft Visual C++ 14.0的问题,这里我提供给大家一个2017版的安装包,现在微软IDE基本都是在线安装了。
我们运行安装程序后,不需要完全安装,只需要勾选一个VC++2017的功能就行
这里解决了 C++ 14.0的问题后,重新执行superset安装命令,有可能还会报python_geohash的错误,这时我们去下载相应python版本的离线包,我这里的python版本是3.8
所以就下载python_geohash-0.8.5-cp38-cp38-win_amd64.whl
我们去这里下载 https://www.lfd.uci.edu/~gohlke/pythonlibs/
下载好python_geohash,我们执行安装pip install d:/python_geohash-0.8.5-cp38-cp38-win_amd64.whl
安装好后 再次执行 pip install --upgrade apache-superset
最终安装成功如下图,没有报错
3、初始化数据库
我们在命令行继续执行 superset db upgrade
4、初始化用户
superset fab create-admin
用户名默认admin,密码000000方便记忆 生产环境要设置复杂的密码
5、加载案例
superset load_examples
这里加载案例我没有完全成功,试了几次都不行,估计是国外的资源,大家都懂的,后面再研究下怎么加载吧
6、初始化角色和权限
superset init
7、启用中文(汉化)
首先要找到superset的安装路径(不同电脑可能有差异)
这里windows下的路径是
D:\ProgramData\Anaconda3\Lib\site-packages\superset
我们打开config.py文件 找到Setup default language 这个配置,把参数值en改为中文zh
# Setup default language
BABEL_DEFAULT_LOCALE = "en"
修改后
# Setup default language
BABEL_DEFAULT_LOCALE = "zh"
8、启动服务
我们在控制台继续执行
superset run -p 8088 --with-threads --reload --debugger
会打印如下信息,可以看到有输出成功
我们根据信息,在浏览器打开 http://127.0.0.1:8088/,可以看到登录界面了
输入我们上面初始化配置的账号密码就可以登录了
全新的UI界面和功能。
我收集了下新功能介绍,主要有以下几点
- 混合时间序列图表
- 雷达图改进,增加了对比功能
- 增加了数据透视表,这个厉害了,之前只在Excel上用过
- 添加了更多控件、更多聚合选项以及更好地支持时间过滤器
- 仪表盘增加权限设置功能
- 对开发者的支持,V1.2 引入了一些新的 API 路由,以允许开发人员获取可用数据库、获取给定仪表板的图表以及导入保存的查询等新功能和特性。
后续我还会向大家继续介绍Superset的实际应用。
总结
感谢能看到这里的朋友😉
本次的分享就到这里,猫头鹰数据致力于为大家分享技术干货😎
如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅
受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏
也可以搜索关注我的微信公众号【猫头鹰数据分析】,留言交流🙏