[Vis] Redash Dashboard 應用(上)|資料視覺化
這個系列的前言中有提到 4 個應用,基本上是把五月的系列課程投影片文字化。其實本來的計畫中是要倒過來的,先寫文章在弄成投影片,但現實總是趕不上計畫(蛋黃哥貌)
這系列會提到以下幾個主題:
- 用 docker-compose 快速架好 local 版本的 Redash (https://github.com/getredash/redash/blob/master/docker-compose.production.yml)(官方 setup 文件)
- 設定好寄信功能以便邀請使用者,也可以用來重設密碼
- 用 Python code 做到不同類型 DB, e.g., 一個是 json, 另一個是 Google Spreadsheet 的 table join
- 手邊有個 json 檔的分析方法
這篇會提到 1, 2點。
1. local build 版本的 Redash —— 使用 docker-compose
什麼時候要用 local 版本
想寫 python 整理資料的時候 :D
因為官網有說明 public 版本不支援開放寫 python,我想是避免線上環境有使用者不受控。自架的部分打開這功能的使用者要知道自己在幹嘛。
還有不想付費跟想擁有資料自主權的時候,例如公司資料很機密或是部門沒有預算之類的。
為什麼用 docker 架
潮(誒)
主要是安裝各個 component 的部分都可以透過拉個 image 的動作統一解決省了很多事情。不用再為了不同平台裝哪些工具遇到什麼特殊問題一一去問谷哥。
透過 docker 可以做到檔案整個與系統切開,例如我只要把 Redash 拿來儲存設定或是 user、query、dashboard 的 PostgreSQL 資料複製到別地方,同樣在 docker-compose.yaml 中 mount 進去就可以完全復活!
docker 的另一個好處是可以在另一個資料夾裡換個 port 就讓多個 Redash 同存於一台機器,hen方便。
官方 Github 上就有 docker-compose 了接下來要做什麼
clone 一份下來以免被 M$(消音)
對其實連結就在上面,但預設是在 datasource 看不到 python 的。
其實就差這個環境變數:REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
(完整檔案放這邊)
在下一個主題還會有像是 email 的設定要做(在本篇後半)
步驟
- 安裝 docker, docker-compose
- 開一個工作資料夾,把 docker-compose.yaml 檔放進去
- 看需求加入可以使用 python 作為 datasource 的環境變數
REDASH_ADDITIONAL_QUERY_RUNNERS: "redash.query_runner.python"
- 在環境變數給他一個 top secret
REDASH_COOKIE_SECRET: "ur top secret"
- mount DB 要用的檔案路徑:例如在這層資料夾下做個
postgresql/data
mount 到 docker 裡的/var/lib/postgresql/data
- 初始化 Redash 本身要用的 DB
docker-compose run --rm server create_db
- 啟動
docker-compose up -d
- 檢查 docker instance 狀態
docker ps -a
- 關掉
docker-compose down
2. 設定寄信功能以便邀請使用者,也可以用來重設密碼
REDASH_MAIL_SERVER: "localhost"
REDASH_MAIL_PORT: 25 # default: 25
REDASH_MAIL_DEFAULT_SENDER: "<your email address>"
就是這幾個環境變數搞定即可!
為什麼要設定 email address
因為設定帳號方便(認真。
目前還沒看到 Redash 支援 LDAP 整合。
這類要開 local account 的要生一組帳密給要一起使用的人,等到對方忘記密碼就很難過了,要重設很阿雜。
Redash 在管理介面支援一鍵重設密碼:send a password reset mail 這簡直超貼心!系統會以 default sender 的帳號寄信。
這時 admin 就不用管別人的密碼了!!
當然主要也有功能上的用途,他可以在 Alert 介面設定要通知誰。
這些功能在介面上都滿好找的,要邀請別人或重設密碼等等,這就是為什麼超推的原因。一個 dashboard 系統遠遠不只是 query 或是圖表的問題啊~
那就下一篇見~^ↀᴥↀ^