乐趣区

Airbnb开源-快速搭建企业级BI数据平台

最近在公司做一个数据可视化相关的项目, 使用了 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 技术的同路人

退出移动版