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