欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-19 10:36:42
最近在公司做一个数据可视化相关的项目,使用了Airbnb开源维护的企业级BI数据平台superset,相较于tableau这种收费的商业软件,Superset是开源维护的,同时图表的种类和颜值普遍偏高。以下效果图: ![时间序列_柱状图.gif](https://img2018.cnblogs.co ......
最近在公司做一个数据可视化相关的项目,使用了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技术的同路人

上一篇: First

下一篇: View.onTouchEvent