[Vis] Redash Dashboard 介紹|資料視覺化

Ichi Tsai
Ichi’s Dev Blog
Published in
3 min readMay 30, 2018

手邊有一串 json 檔不知道怎麼分析嗎?有兩個不同類型 DB 的資料但是想 join 起來嗎?想要自動定期更新圖表不用再手動到 Excel 跑一樣的流程嗎?覺得 Tableau super貴只是想要基本功能不知道有沒有候選方案嗎?那來看看 Redash 這個超佛的 dashboard service 吧~

Github repo: https://github.com/getredash/redash

這系列會提到以下幾個主題:

  1. 用 docker-compose 快速架好 local 版本的 Redash (https://github.com/getredash/redash/blob/master/docker-compose.production.yml)
  2. 設定好寄信功能以便邀請使用者,也可以用來重設密碼
  3. 用 Python code 做到不同類型 DB, e.g., 一個是 json, 另一個是 Google Spreadsheet 的 table join
  4. 手邊有個 json 檔的分析方法

碎碎念

Redash 還有好多功能其實我也還沒完全弄通, e.g., alert 功能。在 Redash 之前 team 上有些需要 dashboard 但又沒到 project 等級的東西我是考慮用 Airbnb 的 Superset,有非常多的權限設計,圖表也是都從 d3.js 上面有什麼經典圖都有納入,但也是個小缺點。

用 Superset 的話要保證自己知道來源資料非常完整都沒有 null,因為上面的 d3.js code 沒有特別處理,如果有兩個欄位都有 null 值,則圖表中有 source、target 概念的類型 (e.g., Sankey)就會造成 null 到 null 的 self-loop,會噴 error,從 UI 也改不到 d3 code。(之前手刻 Sankey 的時候有踩中這個雷,一噴錯就知道又中了…)
有同事很清楚自己的資料都很完整,所以用 Superset 用爽爽問我為什麼要跳 Redash。Redash 是用 plot.ly 喔!可以到上一篇文章看介紹。

以上就簡單介紹幾個真的有遇到的需求情境及解決方法。比較可惜的是如果一次 query 下來的數據不能超過一個上限,對 big data 需求的人來說不會是一個直接的解法,但相信流程設計過後 Redash 還是能有所幫助。

另外,在找 solution 的過程中,有個日文的技術分享平台(?):Qiita有超多 Redash 踩雷解法,滿感謝這平台的。

碎碎念寫超多,新的一年希望能繼續用到 Redash 各種好用的功能。

2018.05 追記:沒想到隔了一個系列活動才發佈這篇三個月前就寫好的文章

系列其他文章連結

--

--

Ichi Tsai
Ichi’s Dev Blog

A proactive and helpful individual who values integrity above all else. Have both backend engineering experience and project management skills.