最近在公司做一个数据可视化相关的项目, 使用了 Airbnb 开源维护的企业级 BI 数据平台 superset,相较于 tableau 这种收费的商业软件,Superset 是开源维护的,同时图表的种类和颜值普遍偏高。以下效果图:
以及另外几十种图表格式
话不多说,开始搭建吧。
1. 前期准备
**Linux 服务器 CentOS7(Windows 系统的不作概述 一般缺少的 whl 文件在 此网站
可以下载 **
python3.+ 版本(此处我使用的是 3.6.2 版本)
yum 安装 163 镜像
superset 官网
2. 安装环境
2.1 安装 python3.6.2
python3.6.2 安装及测试
2.2. 安装编译环境
sudo yum install gcc gcc-c++ libffi-devel openssl-devel libsasl2-devel openldap-devel
2.3 更新 pip 及工具 使用 python3 下载
####pip3 install --upgrade setuptools pip
2.4 安装 virtualenv 虚拟环境
pip3 install virtualenv
2.5 进入虚拟环境
. ./venv/bin/activate
2.6 使用豆瓣镜像源安装 superset
pip3 install superset -i https://pypi.douban.com/simple
问题描述 1:
ImportError: No module named flask_compress/ext/XXX
这是因为 superset 默认的 flask 版本要 >1.0 同时又不能太高,其他组件同理, 一般都是版本过低或者过高
卸载原有的 flask 并且安装 1.0 版本的 flask
pip3 uninstall flask
pip3 install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com flask==1.0
问题描述 2:
Was unable to import superset Error:No module named ‘_sqlite3’
这是系统默认的 python 解释器版本 2.7 与 3.6 冲突 网上也有解决方案修改默认的解释器版本或者对当前编译环境加入 sqlite3 模块
2.7 创建管理员用户名和密码
fabmanager create-admin --app superset
问题描述:No module named ‘_sqlite3’
解决方案同上 其实是上一步出了问题
2.8 初始化 Superset 数据库
superset db upgrade
2.9 装载官方提供的系统案例
superset load_examples
2.10 初始化
superset init
2.10 启动 superset
superset run -p 8088 --with-threads --reload --debugger
3. 启动 superset, 连接 mysql 数据源, 根据表创建 Charts
在浏览器输入 IP:8888 或者 IP:8888/login/
出现如下界面
3.1 登陆
右上角选择中文,输入刚才的用户名和密码
3.2 安装连接 mysql 数据源的数据库依赖
pip install mysqlclient
3.3 连接数据源
点击增加过滤条件旁边的 + 号
连接数据库
连接数据表,点击右上角的增加过滤条件
选择数据库 输入表名
点击数据表 进入根据表创建 Charts 的界面 以饼状图为例:
选择数据源 图标类型 时间区间 指标数值 分组依据(这里是性别)
执行 Query: 点击 Save 保存
到这里,BI 数据平台生成图标已经完成了。以下是将图标引入自己的项目
4. 将生成的饼状图变为 html, 嵌入自己项目
修改 superset 中的 config.py 配置文件
将 PUBLIC_ROLE_LIKE_GAMMA 改为 True
支持图表跨域
在 Charts 中找到刚才保存的图标 点击右上尖括号 复制 iframe 的代码
嵌入我们自己项目中的 iframe 标签中即可。
嵌入图表 Demo 网址浏览:http://www.songlei.online:8777
关注公众号:Code In Java
资源,项目,面试题一网打尽
希望与你成为 Java 技术的同路人