Superset 官方入門教程中文翻譯
本文翻譯自 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 中連線、分析並且進行了資料視覺化操作。這裡面有許許多多的表配置與視覺化選項,所以請開始探索與建立你自己的切片和看板吧。
本翻譯版權歸本人 部落格園-東圍居士 所有,轉載請註明出