Superset是一款輕量級BI工具。您可以使用Superset串連多個資料來源自助分析並可視化、定義圖表和看板、匯入或匯出看板,並且可以對使用者和角色進行許可權管理。本文以EMR-3.34.0版本的叢集為例為您介紹如何使用Superset。
背景資訊
Superset對E-MapReduce Druid做了深度整合,同時也支援多種關係型資料庫。因為E-MapReduce Druid也支援SQL,所以您可以通過Superset以兩種方式訪問E-MapReduce Druid,即Apache Druid原生查詢語言和SQL方式。
前提條件
已建立E-MapReduce(簡稱EMR)的Hadoop或Druid叢集,並選擇了Superset服務,詳情請參見建立叢集。
使用限制
Superset預設安裝在emr-header-1節點,暫不支援HA。
Superset不支援通過KNOX訪問Web UI。
在使用Superset前,確保您的主機能夠正常訪問emr-header-1,詳情請參見通過SSH隧道方式訪問開源組件Web UI。
使用Superset訪問Druid
登入Superset。
您需要在SSH串連中建立隧道以查看開源組件的Web頁面,詳情請參見通過SSH隧道方式訪問開源組件Web UI。
預設使用者名和密碼均為admin,請您登入後及時修改密碼。
說明首次登入後預設是英文介面。
添加Druid叢集。
選擇。
單擊
表徵圖。在添加Druid叢集頁面,配置如下參數。

參數
描述
代理主機
固定填寫為emr-header-1。
代理連接埠
需要在開源連接埠前加1。
例如,開源Broker連接埠為8082,E-MapReduce中為18082。
Cluster Name
您在E-MapReduce中建立的叢集名稱。
單擊儲存。
添加資料來源。
選擇。
單擊
表徵圖。在添加Druid資料來源頁面,配置如下參數。

參數
描述
資料庫名稱
您可以自訂資料庫的名稱。
叢集
您添加的Druid叢集的名稱。
單擊儲存。
儲存之後,您可以單擊
表徵圖,填寫相應的維度列與指標列等資訊。
查看添加的E-MapReduce Druid。
資料來源添加成功後,您可以單擊資料來源名稱,進入查詢頁面進行查詢。

使用Superset訪問Hive資料庫
Superset提供了SQLAlchemy以多種語言支援各種各樣的資料庫,包括MySQL、Oracle、PostgreSQL和Microsoft SQL Server等關係型資料庫,以及Hive、Presto和Druid等巨量資料查詢引擎。這裡以E-MapReduce Hadoop叢集預設安裝的Hive引擎為例,更多的資料庫類型訪問方式請參見SQLAlchemy。
登入Superset。
您需要在SSH串連中建立隧道以查看開源組件的Web頁面,詳情請參見通過SSH隧道方式訪問開源組件Web UI。
預設使用者名和密碼均為admin,請您登入後及時修改密碼。
添加Hive資料庫。
選擇。
單擊
表徵圖。在添加資料庫頁面,填寫資料庫名稱和SQLAlchemy URI。

參數
描述
資料庫
您添加的資料庫的名稱。
SQLAlchemy URI
填寫為hive://emr-header-1:10000/。
單擊儲存。
添加資料表。
選擇。
單擊
表徵圖。在匯入一個已定義的表頁面,配置如下參數。

參數
描述
資料庫
您添加的資料庫的名稱。
表名
您添加的資料庫中存在的表的名稱。
本文樣本添加的是test表。
單擊儲存。
查詢資料庫。
選擇。
選擇添加的資料庫Hive JDBC Server。
選擇default模式。
您可以執行Hive命令查看資料庫資訊。
如下圖所示。

常見問題
問題現象:EMR-4.6和EMR-3.33之前版本的叢集,使用admin使用者第一次登入Superset的Web UI時,報錯invalid login。
解決方案:
使用SSH方式登入到叢集主節點,詳情請參見登入叢集。
重要請使用root使用者進行以下操作。
執行以下命令,進入Superset命令列。
source /usr/lib/superset-current/bin/activate執行以下命令,建立管理使用者。
superset fab create-admin根據如下提示資訊輸入使用者名稱、密碼和確認密碼等。
Username [admin]: User first name [admin]: User last name [user]: Email [admin@fab.org]: Password: Repeat for confirmation: Recognized Database Authentications. Admin User admin created.初始化使用者。
執行以下命令,初始化資料庫。
superset db upgrade執行以下命令,初始化Superset。
superset init建立完成後,您需要建立隧道以查看開源組件的Web頁面,然後使用新建立的使用者登入Superset。建立隧道詳情,請參見通過SSH隧道方式訪問開源組件Web UI。