Superset#
說明:#
出於業務需求,需要分析經營數據。之前使用的是 elasticsearch + grafana。由於 grafana 是一個時序性的可視化工具,對於數據的挖掘和預警效果不太好。因此開始尋找新的開源工具;今天的注腳就是 superset
安裝:#
選擇了 docker 安裝
在 hub.docker.com 上搜索了一下。直接使用官方方法:
$ docker run -d -p 8080:8088 --name superset apache/superset
如果已經運行了本地的 superset 容器...
-
設置本地管理員帳戶
$ docker exec -it superset superset fab create-admin \ --username admin \ --firstname Superset \ --lastname Admin \ --email [email protected] \ --password admin
-
將本地數據庫遷移到最新版本
$ docker exec -it superset superset db upgrade
-
加載示例
$ docker exec -it superset superset load_examples
-
設置角色
$ docker exec -it superset superset init
-
登錄並查看 -- 轉到 http://localhost:8080/login/ -- u/p: [admin/admin]
-
需要安裝一個 es 插件,因為我的庫是 es
$ docker exec -it superset pip install elasticsearch-dbapi
小試牛刀#
導入數據源:elasticsearch
登錄後 --> 右上角 setting --> Database Connections
新頁面 --> 右上角 +DATABASE 尋找 es。按格式添加即可。
elasticsearch+http://192.168.100.68:9200/
之後的操作如下:
- 創建一個 Datasets;我理解就是從數據庫中按時間格式獲取一組數據。
- 繪圖 --Charts;
- 將圖表添加到 Dashboards;
剛開始我導入的 es 數據沒有時間戳,不支持序列圖。查看原因是導入的數據日期列被識別為字符串格式。在網上查了一圈,說是需要在導入時將日期列格式化為 epoch_ms
【假裝有圖床】
但是我嘗試了一下不行。最後刪除了數據源,重新添加了 es 的數據源。
神奇的是,日期列的識別格式變成了 Datetime。這樣所有的問題都迎刃而解了
深入探索:#
繪圖
1、線、柱、點常規圖#
-
這些時間序列圖基本上都可以。
-
也可以將時間範圍顯示在圖表上,添加到 Dashboards 後,還可以在之前選定的時間範圍內進行自由調整。
-
在高級選項中,還可以按時間段進行分割。求和、平均、最大、最小等等。。。
2、餅圖#
-
常規圖表正常顯示,只能按預選的時間段顯示數據。
-
與折線圖相比,無法提供 datetime 的選擇性顯示。
-
可以選擇 sunburst(一種類似復合餅圖),效果還不錯。
3、其他圖形#
其他圖形也都支持得不錯。大部分都通過了測試。
總結:#
優點:
- 支持 docker 部署,我比較喜歡這個。
- 支持導入的數據庫也很多,因為我使用的是 es。測試效果還不錯
- 支持的圖形種類齊全,可以做出炫酷的 Dashboard
缺點:
- Dashboard 不支持參數。這樣就無法按時間選擇顯示,也無法按條件查詢。
- 繪圖過程太繁瑣,導入數據後還需要先創建 Dataset。
- 只能按預先設定好的查詢語句繪圖。比較死板!!!
總的來說,還是不錯的,只是不符合我的需求。如果只需要統計預先訂好的計劃,做出漂亮的 Dashboard 還是很炫酷的!