我有一個需求,手里有很多的數(shù)據(jù),需要把這些數(shù)據(jù)進(jìn)行可視化的分享,前端最好的Web,可以在手機(jī)和電腦上查看,在網(wǎng)上找了很多資料,最開始,計劃自己用Django或Flask自己開發(fā),但能力太有限了,很多考慮不足,沒看在查找資料過程中,發(fā)現(xiàn)一個現(xiàn)成的框架:
▌Superset
Superset是Airbnb開源的數(shù)據(jù)挖掘平臺
Github地址:https://github.com/airbnb/superset
官網(wǎng)地址:http://airbnb.io/projects/superset/
Superset之前叫做Caravel,還叫做過Panaramix。到今天為止,Superset在Github上已經(jīng)有8200多個星了。以下內(nèi)容翻譯了Github上Superset簡介的主要功能:
快速創(chuàng)建可交互的、直觀形象的數(shù)據(jù)集合
有豐富的可視化方法來分析數(shù)據(jù),且具有靈活的擴(kuò)展能力
具有可擴(kuò)展的、高粒度的安全模型,可以用復(fù)雜規(guī)則來控制訪問權(quán)限。目前支持主要的認(rèn)證提供商:DB、OpenID、LDAP、OAuth、和Flask AppBuiler的REMOTE_USER
使用簡單的語法,就可以控制數(shù)據(jù)在UI中的展現(xiàn)方式
與Druid深度結(jié)合,可快速的分析大數(shù)據(jù)
配置緩存來快速加載儀表盤
Superset最初是在Druid.io的基礎(chǔ)上設(shè)計的,但是通過使用SQLAlchemy(一種與大多數(shù)常見數(shù)據(jù)庫兼容的Python ORM),迅速擴(kuò)展了范圍以支持其他數(shù)據(jù)庫。
Superset是一款輕量級的BI工具,由Airbnb的數(shù)據(jù)部門開源。整個項目基于Python框架,不是Python我也不會推薦了,它集成了Flask、D3、Pandas、SqlAlchemy等。
這個剛好和我的需求一致,于是喜出望外地下載,開始實驗。
▌安裝
pip install superset
pip會自動安裝所有的依賴,速度可能有點(diǎn)慢,建議更改pip源。
命令行后加上 -i https://pypi.douban.com/simple ,用豆瓣的鏡像源,速度嗖嗖的。
如果安裝過程中報錯,是部分程序缺失,像系統(tǒng)比較老舊的win用戶,需要安裝新版的visual c++,網(wǎng)上搜索教程即可。在官網(wǎng)的教程中,還要求pip install cryptography==1.7.2,我沒有安裝也沒有影響,供大家參考。其他報錯,都可以通過搜索解決。
安裝成功后,需要進(jìn)行初始化配置,也是在命令行輸入。
fabmanager create-admin --app superset
首先用命令行創(chuàng)建一個admin管理員賬戶,也是后續(xù)的登陸賬號。會依次提示輸入賬戶名,賬戶使用者的first name、last name、郵箱、以及確認(rèn)密碼。fabmanager是flask的權(quán)限管理命令,如果大家忘了密碼,也能重新設(shè)立。
superset db upgrade
初始化數(shù)據(jù)源。
superset load_examples
載入案例數(shù)據(jù),這里的案例數(shù)據(jù)是世界衛(wèi)生組織的數(shù)據(jù),也是上文演示的各類可視化圖表,大家登陸后能夠直接看到。下載速度還行。
superset init
初始化默認(rèn)的用戶角色和權(quán)限。
superset runserver -d
我用的是win7,支持不太好,所在以調(diào)試模式啟動。在每一個命令前,都加了一個python
先進(jìn)入目錄*c:/Python27/scripts,再運(yùn)行
<python superset runserver -d
在瀏覽器輸入 http://localhost:8088 即可。
進(jìn)入登陸界面,輸入登陸密碼,大功告成。
▌啟動
新的Superset已經(jīng)直接有了漢化,進(jìn)入后點(diǎn)擊即可漢化。
選擇Chinese,熟悉的中文出現(xiàn)了。
輸入剛剛設(shè)置的用戶名、密碼。
Superset分為多個模塊,安全模塊是賬號管理相關(guān),包括角色列表,視圖權(quán)限控制,操作日志等。管理模塊沒什么用,主要是設(shè)計元素。
數(shù)據(jù)源可以訪問和連接數(shù)據(jù)庫,切片是各類數(shù)據(jù)可視化,均是單圖;看板即為Dashboard,是切片的集合,Superset提供了三個初始案例,SQL工具箱是數(shù)據(jù)查詢平臺。
為了簡便,我選擇了和示例中一樣的數(shù)據(jù)庫sqlite。
由于是文件型的數(shù)據(jù)庫,很簡單,設(shè)置好位置就可以了。測試連接,成功。
數(shù)據(jù)表,就是對數(shù)據(jù)庫中的表進(jìn)行選取和處理。
選擇一個表,可以查看內(nèi)容。
可以做一些選取。進(jìn)入切片,繪圖。
還在進(jìn)一步學(xué)習(xí)研究中,歡迎一起討論。