Apache Superset使用分享

Superset簡介

Superset是一個受Apache軟件基金會支持的處於孵化階段的企業級數據可視化web項目。具備如下特色:前端

  • 內含豐富的數據圖表樣式
  • 支持多種數據源(Oracle、MySQL、Postgres, MariaDB等等)
  • 提供易用的界面來自定義可視化數據
  • 提供一個Web版SQL查詢工具
  • 提供OpenID, LDAP, OAuth等多種認證方式,易於集成。

Superset的主要功能是將基礎數據以直觀的可視化圖表形式渲染出來。本文檔對數據源的配置、自定義可視化數據進行介紹。關於Superset的安裝不在本文探討範圍內,官方文檔中提供了基於docker的一鍵化安裝教程。web

爲了形象的代表Superset能作什麼,最直接的方式就是放圖了。好比它能根據數據生成以下的圖表,只須要配置好了數據源,不須要編寫一行代碼即可生成可視化圖表。前端不再用和Echart打交道,後端增刪改查小王子也不要寫代碼了。docker

固然這只是最基礎的,下面還有賊多炫酷的圖表,恐怖的讓人不由瑟瑟發抖。本人目前公司纔用到一些基本圖表,暫時感受數據可視化方面仍是挺知足項目需求的。

數據源的配置

可視化數據的前提是必須有數據源爲其提供基礎數據。本節介紹如何配置可靠的數據源。Superset支持多種數據庫充當數據源,如:Oracle、MySQL、Postgres, MariaDB等等。本節以Oracle爲例。數據庫

請原諒我如下全部截圖中都是使用的中文,有些地方翻譯略顯生硬。原本系統是使用的英文,奈何領導要求中文呀。後端

新增數據庫

①點擊數據源選擇數據庫,進入頁面後點擊右上角綠色的+號新增一個數據庫 函數

②填寫數據庫配置相關信息,點擊測試鏈接,出現seems OK!代表數據庫鏈接成功。工具

注:勾選「在SQL工具中公開」選項則代表容許在Superset提供的SQL查詢工具中對該數據庫進行操做,按需勾選。測試

新增數據表

①點擊數據源選擇數據表,進入頁面後點擊右上角的+號新增一個數據表翻譯

②下拉選擇剛剛配置的數據庫,並填寫數據庫中存在的某個表名,點擊保存3d

③點擊編輯表,在列列表中頁面中爲每一個列勾選後續數據分析時會使用到的一些屬性,

注:可分組和可過濾按需勾選,表示在後續分析數據時是否支持根據該列進行分組和過濾。時間字段的表示時間屬性必須勾選上(通常Superset會時間列默認勾選)。

通過上述操做,咱們便爲後續的數據可視化操做提供了一個數據表充當數據源。

新增看板

數據源配置好後咱們還須要新增一個看板用來保存咱們以後生成的可視化圖表。你能夠把看板理解成一個文件夾,用來存儲一系列相關的圖表

①點擊看板,進入頁面後點擊右上角的+號新增一個看板

②填寫看板名並選擇所屬者,點擊保存

完成上述操做後,咱們便在系統內新增了一個「景區指標」看板來存儲後續生成的可視化圖表。

自定義可視化圖表

如今全部準備工做都已經完成,能夠正式開始生成可視化圖表。爲了事情的發展順利,先給出上一節中新增數據表的結構信息:

仔細觀察上表的字段,該表的每條記錄表示某個景區某天某種出行方式出行的遊客總人數。咱們假設本次數據可視化的任務是將景區編號爲201_1的景區前一週遊客的出行方式渲染成可視化圖表。

配置可視化圖表

注意:儘管Superset提供了一個易用的配置界面來配置可視化圖表,但可能仍是須要用戶在必定程度上熟悉簡單的SQL語法。因此,若是你不熟悉SQL語法,那麼下面的內容對你來講可能會略顯吃力。

①選擇須要分析的數據表

②配置圖表(以餅圖爲例) 點擊數據表後進入配置頁面。注意,咱們的目的是:將景區編號爲201_1的景區前一週遊客的出行方式渲染成可視化圖表。 按以下步驟自定義配置參數: 步驟一:選擇圖表類型爲餅圖

步驟二:篩選前一週數據

步驟三:篩選景區編號爲201_1的數據

步驟四:設置分組條件,此處根據出行方式進行分組

步驟五:配置分析的指標,此處爲遊客人數。(sum表示對每一個分組的人數求和)

步驟六:設置行限制,此處可留空,若是說僅需顯示出行方式排行前10的數據則可將行限制設置爲10

步驟7:點擊左上角運行查詢按鈕,查看數據渲染結果

保存可視化圖表

經過上述步驟如今已經配置好了一個可視化圖表。咱們能夠將其持久化保存。如圖:將圖表配置保存並將生成的可視化圖表保存到第一步配置的「景區指標」看板中。

查看生成的可視化圖表

點擊這兩個條目可查看剛剛保存的圖表配置和生成的可視化圖表。

常見問題

經過上述的幾節已經完整的介紹了Superset配置可視化圖表的操做步驟,本節列出一些困擾使用者的常見問題:

Q1:指標能夠是某個字段名而非彙集函數嗎?
A:這個具體由不一樣的圖表類型決定,通常來講都是彙集函數。

Q2:容許多個表的聯合查詢嗎?
A:Superset不能直接使用聯合查詢,只能從單個表查找數據。可是它提供的視圖的概念,能夠編寫視圖SQL,最終在視圖上執行單表查詢操做。視圖的配置見下圖:
一、點擊編輯表

二、編寫SQL語句,以SQL的結果集做爲視圖。

Q3:如何校驗數據的正誤?
A:Superset提供的數據分析是創建在SQL基礎上的,在配置可視化圖表階段,點擊右上方的列表按鈕,能夠查看到查詢執行的實際SQL以及返回的原始數據結果。經過查看SQL和結果集來校驗正誤。

Q4:爲什麼配置圖表後點擊運行查詢無反應?
此種狀況說明系統根據你的配置生成的查詢SQL有問題。可根據Q3來排查問題所在,而且系統爲用戶提供Web版的SQL查詢工具來操做數據庫。

常見圖表類型配置

上文中以餅圖爲例展現了可視化圖表的配置,本節給出常見的柱狀圖以及時間折線圖的配置方法。Superset容許衆多的圖表類型,其他類型須要用戶本身去嘗試。 因爲篇幅問題,僅給出配置,詳細步驟略去。

柱狀圖

目的:渲染201_1景區前一天的遊客出行方式

時間折線圖

目的:渲染201_1景區遊客每種出行方式不一樣日期的對比

相關文章
相關標籤/搜索