Superset 官方入門教程中文翻譯
- 2019 年 10 月 3 日
- 筆記
本文翻譯自 Superset 的官方文檔:Toturial – Creating your first dashboard
最新版本的 Superset 介面與功能上與文檔中提到的會有些許出入,以實際的為主。本文僅作翻譯
入門教程-創建你的第一個看板
本教程的目標用戶是那些想要在 Superset 中創建圖表與看板的人。我們將會展示如何通過 Superset 去連接到一個新的資料庫並且配置這個庫中的一張表以用於分析。同時你也能夠通過已經添加上來的資料庫去探索數據,可以添加可視化的圖表到看板中。通過本教程你能有一個端到端(end-to-end)的用戶體驗。
連接到一個新的資料庫
假設你已經有一個配置好的資料庫,並且能夠通過正在運行 Superset 的環境中進行連接。如果你僅僅是想體驗一下 Supertest 和探索一些樣本數據,那麼你可以載入 PostgreSQL樣本數據集 到一個新的資料庫中,或者配置我們在這節中將要使用到的 天氣樣本數據。
在數據源菜單下,選擇資料庫選項:
在跳轉的結果頁面中,選擇右上角的綠色「+」號:
你可以在這個頁面配置許多高級選項,但對於本教程來說,你只需要配置如下兩項就好了:
- 給要添加進來的資料庫起個名字:
- 輸入 SQLAlchemy 連接 URI 並且測試連接:
上圖展示了連接用於測試的天氣資料庫的連接。如 URI 下面的文本所示,你可以參考 SQLAlchemy 文檔中的 創建新的連接 URI 來連接目標資料庫。
點擊 測試連接 按鈕來確認兩端都沒問題。如果 Superset 能夠成功連接並獲得授權,那麼你將看到如下彈窗提醒:
此外,你應該能夠在頁面底部看到 Superset 能夠讀取到的、你剛添加的資料庫中已經創建的表:
如果連接沒問題,點擊位於頁面底部的 保存 按鈕來保存這個配置:
添加新表
到此資料庫已經配置好了,你需要添加一個將要用於查詢的具體的表到 Superset 中。
在 數據源 按鈕下,選擇 數據表 選項:
在跳轉的結果頁中,單擊右上角的綠色「+」號按鈕:
為了添加新表到 Superset 中你只需要添加少許的幾個資訊即可:
- 表名
- 在 資料庫 下拉列表中選擇目標庫(例如,你剛才添加上去的一個)
- 可選的,資料庫的 schema。如果數據表是存在於默認的 schema 中(例如 PostgreSQL 或者 Redshift 中的 public),那麼該選項可以留空。
單擊 保存 按鈕來保存配置:
當頁面重定向到數據表清單頁面後,你應該能看到一條資訊提示說你的表已經創建好了:
這條資訊同時也告訴你可以編輯表配置。我們當前將僅會編輯一小部分配置-為了能讓你開始-同時剩下一些留在高級教程中。
在你剛才創建的表旁邊單擊編輯按鈕:
在結果頁中,點擊 列列表 標籤。在這裡,你可以定義一些在探索數據時使用到的具體列。我們將會歷遍這些選項去描述它們的作用:
- 如果你希望用戶根據具體的列來進行分組,那麼在 可分組 下勾選它
- 如果你需要根據具體的列來進行過濾,那麼在 可過濾 下勾選它
- 是否有一些欄位你需要去統計它的唯一值個數的?勾選 唯一性統計
- 是否有一些欄位你需要去求和的,或者想要得到一些基本的統計資訊?那麼 求和、最小值、最大值 列會有幫助
- 所有的日期或者時間欄位,都應該勾選上 表示時間(原文是 is temporal )。我們將會在稍後講述它們是如何操作的。
(譯註:目前我安裝上的版本中,只剩下可分組、可過濾、表示時間這三個選項了)
以下是已經針對天氣數據配置好的欄位。對於天氣數據的測量(比如降雨量、降雪量等等)來說,根據以下這些欄位它已經足夠去分組和過濾的了:
如上圖所示,點擊 保存 按鈕以保存這些配置。
探索數據
要探索數據,只需要在表列表中點擊你剛才創建的表的名字即可:
默認地,展現在你面前的是表視圖(Table View):
讓我們使用一些基本的查詢來統計表中的所有記錄數。首先,我們需要更改 時間(Since)過濾器來取得數據的時間範圍,你可以通過一些簡單的詞語來應用這個篩選,例如「3年前」:
而這個時間區間的上限,在 Until 過濾器中,默認是 現在,當然這個可能並不是你想要的。
再看到位於 分組 下方的 指標 部分,可以在其中輸入 「Count」 —— 你會看到一個根據你的輸入而匹配出來的指標列表:
選擇 COUNT(*) 指標,然後點擊位於探索器頂部旁邊的綠色按鈕:
你將會右側的表格里看到查詢結果:
讓我們在 分組 區域中,以 weather_description 欄位為分組,取得以天氣記錄類型為分類的記錄數有多少:
執行查詢:
讓我們查找一個更加有用的數據:在 2015 年有記錄的溫度最高的時間和地點的 TOP 10。
在 分組 區域中,把 weather_description 替換為 latitude,longitude 和 measurement_date:
同時在 指標 區域中,把 COUNT(*) 替換為 *max__measurement_flag*:
*max__measurement_flag* 指標是在我們前面配置表的時候,勾選了 measurement_flag 欄位對應的 Max 選框而創建的,指明這個欄位是一個數值並且當需要根據指定的欄位進行分組的時候我們要在其中查詢它的最大值。
在本案例中,measurement_flag 是測量所需要使用到的值,它很明顯是依賴於測量的類別的(研究者會記錄不同的降雨量和氣溫的值)。因此,我們必須僅在 weather_description 相等於 「Maximum temperature」 的記錄中過濾我們的查詢,這個過濾會在探索器窗口底部的 過濾 模組中進行:
最後,由於我們僅關心 top 10,所以我們要限制我們的查詢結果為 10 條記錄,通過位於 Options 頭下方的 行限制 來實現:
點擊 查詢 然後可以得到如下的結果:
在這個數據集中,最高溫度以十分之一攝氏度記錄( is recorded in tenths of a degree Celsius)。最大值是 1370,在內華達州中部測量得到的,相當於 137 攝氏度,或約等於 278 華氏度。這個數據可能是錯的。我們已經使用 Superset 探查了一些異常值,但這僅僅是冰山一角。
你可以通過這些方法來做許多事情:
- 默認的顯示數值的格式是 1.37k,是不便於人們閱讀的。可能你會更加喜歡使用全的、使用逗號分隔的值。通過修改配置(編輯 表配置 > 列出 SQL 指標 > 編輯指標 > D3 格式)你可以更改任何一個指標數據的格式。
- 此外,可能你想把溫度直接以原生的攝氏度來顯示,而不是顯示它的 10 倍值,又或者你需要把它轉換成華氏度來顯示。你可以修改針對資料庫執行的 SQL 語句,將轉換邏輯直接映射到指標本身(編輯 表配置 > 列出 SQL 指標 > 編輯指標 > SQL 表達式)。
現在,讓我們為這些數據創建一個更好的可視化圖表並且把它添加到看板中。
我們更改圖表類型為 「分布-柱狀圖」:
我們前面設置的對最高溫度指標的過濾器可以保留,但是查詢語句和格式選項是依賴於圖表類型的,因此你必須要再次配置這些值:
你應該注意到了,對於這個圖表來說,它有更多的格式化選項:設置軸標籤、外邊距、刻度等等。為了在更多的受眾面前展示圖表,你可能會想要應用多個這些圖表並且把它們添加到看板中。現在,我們執行查詢並且得到如下的圖表:
創建切片和看板
這些圖可能對於研究者來說是有用的,因此讓我們來保存它。在 Superset 中,一個保存好的查詢被稱為一個 切片(Slice)。
為了創建切片,單擊位於探索器左上角的保存按鈕:
此時會有一個彈窗出現,要求填寫切片的名字,和一個是否要添加到看板的可選項。由於我們還沒有創建任務看板,這裡我們可以創建一個同時直接添加我們的切片到這個看板中:
點擊保存,然後你會被重定向回原來的查詢介面。同時可以看到我們的切片和看板都已經成功創建了:
來檢查一下我們的新看板。點擊 看板 菜單:
找到剛才創建的看板:
一切安好-我們的切片也在這裡:
但是它比我們預期的要小一點。幸運的是,你可以調整在看板中的切片。點擊它,保持滑鼠按下不要放開並且拖動右下角直到你想要的大小:
調整完之後,你會被提示去點擊看板左上方的按鈕來保存這個新的配置。
恭喜你!你已經成功地在 Superset 中連接、分析並且進行了數據可視化操作。這裡面有許許多多的表配置與可視化選項,所以請開始探索與創建你自己的切片和看板吧。
本翻譯版權歸本人 部落格園-東圍居士 所有,轉載請註明出處