iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
1

由於 Metabase 在技術需求上有不夠彈性的原因,
因此就轉往聽聞滿多人使用的 Superset,
加上又是 Apache 的孵化專案,應該會還不錯。

但安裝過程上就不像 Metabase 那麼順利,
就算按照官方文件步驟,還是會碰到不少狀況,
但基本上靠著 Google 大神也都能解決,也記錄一下安裝過程:

以 Linode 系統為 Ubuntu 16.04 為環境設定

  1. 更新 ubuntu 套件
sudo apt-get update
  1. 安裝 virtualenv 與 python 相關環境
    Superset 是基於 Python 開發的,
    因此不同 Python 的版本會有不同的安裝方式
    這邊是以 Ubuntu 16.04 ,預設是python2.7x
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

sudo apt-get install build-essential libssl-dev libffi-dev python3.5-dev python-pip libsasl2-dev libldap2-dev

sudo apt-get install libmysqlclient-dev

pip install virtualenv
  1. 建立名為 venv 的虛擬環境(virtualenv)
virtualenv venv
  1. 進入 virtualenv
    要有出現(venv) root@localhost:~# 之類的代表是在 virtualenv 之中
. ./venv/bin/activate
  1. 安裝 Superset
pip install "markdown<3.0.0" superset

基本上到這部就算是安裝成功,但這次還是遇到了些問題,
多安裝 python3 的 flask-appbuilder 才解決

sudo apt-get install python3-pip
pip3 install flask-appbuilder
  1. 設定管理者帳戶
fabmanager create-admin --app superset
  1. 設定db
superset db upgrade
  1. 建立測試資料集
    注意可用memory要夠,不然會出現 ValueError: Could not reserve memory block
superset load_examples
  1. 權限控管初始化
superset init
  1. 啟動 Superset
superset runserver

到此基本上就能成功以 http://YOUR_IP:8088/ , 進入 Superset
如果遇到 mysql 連線相關問題,可多安裝:

sudo apt-get install python-mysqldb 
pip install mysqlclient

Datasource 的部分有 csv、Druid,
而 Database 是以 SQLAlchemy URI 來串接,
大部分 SQL 相關的 source 都能支援:
Postgresql、MySQL、Oracle、Microsoft SQL Server、SQLite;
但也代表著其他類型的 Datasource像是 GA、MongoDB 就無法了。

https://ithelp.ithome.com.tw/upload/images/20181011/20111638VbwW4q8eID.png

而在 Superset 要撈出資料可在 SQL Lab,直接利用 SQL 語法處理,再進行視覺化
https://ithelp.ithome.com.tw/upload/images/20181011/20111638Sg0RDOSCcQ.png

https://ithelp.ithome.com.tw/upload/images/20181011/20111638YzRSikxIgZ.png

https://ithelp.ithome.com.tw/upload/images/20181011/2011163839oIhfTtPS.png
*1

可以發現 Superset 有許多技術人員喜歡的功能:

  • 匯出成 json, csv
  • 嵌入語法
  • 不只有常用的統計值Sum , Avg,也可以自訂SQL

https://ithelp.ithome.com.tw/upload/images/20181011/20111638Dmx40XAhiE.png

點下「 Visualization Type 」可以看到 Superset 最為人所知~
有超多的視覺化圖表可使用(甚至還有 3D 的)
https://ithelp.ithome.com.tw/upload/images/20181011/20111638nuCaDzIeMr.png
*2

至於 Dashboard 部分,同樣也是可以把各種圖表排列組合成自己想要的樣式
https://ithelp.ithome.com.tw/upload/images/20181011/20111638clvsWg3Jgf.png

這點也可看到 Superset 有非常彈性的設計,
除了平常的 Row, Column 排版,還有 Tab 的功能(Tab 同樣也能支援 Row, Column....)
https://ithelp.ithome.com.tw/upload/images/20181011/201116384KXAtxHyki.png


總結

[優點]

  • 豐富的圖表可供選擇
  • 有很高的彈性可以讓技術人員調整設定

[缺點]

  • Datasource只支援SQL系列
  • 缺乏 UX 體驗:
    可以從 SQL Lab -> Visualization 或 Chart -> Add a new record 來增加圖表,
    然而 SQL Lab -> Visualization 在勾選哪些欄位要進到圖表中的對話框,可選擇的圖表很少(*1),
    但下一步進到 Visualization 的時候(*2)卻又是全圖表。
  • 圖表多有 Time 的設定限制
    但像是 Box Plot 這種是想看到數據分散的情況的圖表,
    不見得資料源會有時間的維度,等於因此受限制。

ps. 文章同步發表於 Medium


上一篇
Metabase 體驗
下一篇
Redash 線上體驗
系列文
[BI工具] 以Redash為資料視覺化方案之選擇與實踐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言