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

最近在公司做一个数据可视化相关的项目,使用了Airbnb开源维护的企业级BI数据平台superset,相较于tableau这种收费的商业软件,Superset是开源维护的,同时图表的种类和颜值普遍偏高。以下效果图: ![时间序列_柱状图.gif](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112118784-853879599.gif) ![饼状图.gif](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112124212-953945562.gif) ![折线图.gif](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112135242-514586707.gif) 以及另外几十种图表格式 ![图标概览.gif](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112143373-910271645.gif) 话不多说,开始搭建吧。 ##1.前期准备 **Linux服务器CentOS7(Windows系统的不作概述 一般缺少的whl文件在 [此网站](https://www.lfd.uci.edu/~gohlke/pythonlibs/) 可以下载** **python3.+版本(此处我使用的是3.6.2版本)** **yum安装 [163镜像](http://mirrors.163.com/)** [superset官网](https://blog.csdn.net/zzy1078689276/article/details/78732183/) ##2.安装环境 ####2.1 安装python3.6.2 [python3.6.2安装及测试](https://www.cnblogs.com/liongong/p/7858573.html) ####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/ 出现如下界面 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112143712-921148797.png) 3.1 登陆 右上角选择中文,输入刚才的用户名和密码 3.2 安装连接mysql数据源的数据库依赖 ``` pip install mysqlclient ``` 3.3 连接数据源 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112144126-29504031.png) 点击增加过滤条件旁边的+号 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112144593-1515271071.png) 连接数据库 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112145488-1764047230.png) 连接数据表,点击右上角的增加过滤条件 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112146556-544105135.png) 选择数据库 输入表名 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112146774-1833124605.png) 点击数据表 进入根据表创建Charts的界面 以饼状图为例: 选择数据源 图标类型 时间区间 指标数值 分组依据(这里是性别) ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112146907-2110940904.png) 执行Query: 点击Save保存 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112147042-520372014.png) 到这里,BI数据平台生成图标已经完成了。以下是将图标引入自己的项目 ##4.将生成的饼状图变为html,嵌入自己项目 修改superset中的config.py配置文件 将PUBLIC_ROLE_LIKE_GAMMA改为True 支持图表跨域 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112147180-1961179493.png) 在Charts中找到刚才保存的图标 点击右上尖括号 复制iframe的代码 ![image.png](https://img2018.cnblogs.com/blog/1821710/201909/1821710-20190930112147315-948611537.png) 嵌入我们自己项目中的iframe标签中即可。 嵌入图表Demo网址浏览:[http://www.songlei.online:8777](http://www.songlei.online:8777/) 关注公众号:Code In Java 资源,项目,面试题一网打尽 希望与你成为Java技术的同路人

猜你喜欢

转载自www.cnblogs.com/Ricardo-L-Song/p/11611745.html