最近在公司做一個數據視覺化相關的專案,使用了Airbnb開源維護的企業級BI資料平臺superset,相較於tableau這種收費的商業軟體,Superset是開源維護的,同時圖表的種類和顏值普遍偏高。以下效果圖:
以及另外幾十種圖表格式
話不多說,開始搭建吧。
1.前期準備
**Linux伺服器CentOS7(Windows系統的不作概述 一般缺少的whl檔案在 [此網站](https://www.lfd.uci.edu/~gohlke/pythonlibs/)可以下載**python3.+版本(此處我使用的是3.6.2版本)yum安裝 http://mirrors.163.com/
https://blog.csdn.net/zzy1078689276/article/details/78732183/
2.安裝環境
2.1 安裝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/出現如下介面
3.1 登陸右上角選擇中文,輸入剛才的使用者名稱和密碼3.2 安裝連線mysql資料來源的資料庫依賴
pip install mysqlclient
3.3 連線資料來源
連線資料庫
選擇資料庫 輸入表名
到這裡,BI資料平臺生成圖示已經完成了。以下是將圖示引入自己的專案
4.將生成的餅狀圖變為html,嵌入自己專案
修改superset中的config.py配置檔案將PUBLICROLELIKE_GAMMA改為True支援圖表跨域
嵌入我們自己專案中的iframe標籤中即可。
嵌入圖表Demo網址瀏覽:http://www.songlei.online:8777/