Superset(仅对存量用户开放)

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

  1. 登录Superset。

    您需要在SSH连接中创建隧道以查看开源组件的Web页面,详情请参见通过SSH隧道方式访问开源组件Web UI

    默认用户名和密码均为admin,请您登录后及时修改密码。

    说明

    首次登录后默认是英文界面。

  2. 在Superset页面,单击右上角的language图标,选择Chinese

    显示中文界面。

  3. 添加Druid集群。

    1. 选择数据源 > Druid集群

    2. 单击Add图标。

    3. 添加Druid集群页面,配置如下参数。

      Add Druid

      参数

      描述

      代理主机

      固定填写为emr-header-1

      代理端口

      需要在开源端口前加1。

      例如,开源Broker端口为8082,E-MapReduce中为18082。

      Cluster Name

      您在E-MapReduce中创建的集群名称。

    4. 单击保存

  4. 添加数据源。

    1. 选择数据源 > Druid数据源

    2. 单击Add图标。

    3. 添加Druid数据源页面,配置如下参数。

      datasource

      参数

      描述

      数据库名称

      您可以自定义数据库的名称。

      集群

      您添加的Druid集群的名称。

    4. 单击保存

      保存之后,您可以单击Edit图标,填写相应的维度列与指标列等信息。

  5. 查看添加的E-MapReduce Druid。

    数据源添加成功后,您可以单击数据源名称,进入查询页面进行查询。check-datasource

使用Superset访问Hive数据库

Superset提供了SQLAlchemy以多种语言支持各种各样的数据库,包括MySQL、Oracle、PostgreSQL和Microsoft SQL Server等关系型数据库,以及Hive、Presto和Druid等大数据查询引擎。这里以E-MapReduce Hadoop集群默认安装的Hive引擎为例,更多的数据库类型访问方式请参见SQLAlchemy

  1. 登录Superset。

    您需要在SSH连接中创建隧道以查看开源组件的Web页面,详情请参见通过SSH隧道方式访问开源组件Web UI

    默认用户名和密码均为admin,请您登录后及时修改密码。

  2. 在Superset页面,单击language图标,选择Chinese

    登录后默认是英文界面。

  3. 添加Hive数据库。

    1. 选择数据源 > 数据库

    2. 单击Add图标。

    3. 添加数据库页面,填写数据库名称和SQLAlchemy URI。

      DataBase

      参数

      描述

      数据库

      您添加的数据库的名称。

      SQLAlchemy URI

      填写为hive://emr-header-1:10000/

    4. 单击保存

  4. 添加数据表。

    1. 选择数据源 > 数据表

    2. 单击Add图标。

    3. 导入一个已定义的表页面,配置如下参数。

      add table

      参数

      描述

      数据库

      您添加的数据库的名称。

      表名

      您添加的数据库中存在的表的名称。

      本文示例添加的是test表。

    4. 单击保存

  5. 查询数据库。

    1. 选择SQL工具箱 > SQL编辑器

    2. 选择添加的数据库Hive JDBC Server。

    3. 选择default模式。

    4. 您可以执行Hive命令查看数据库信息。

      如下图所示。check_table

常见问题

  • 问题现象:EMR-4.6和EMR-3.33之前版本的集群,使用admin用户第一次登录Superset的Web UI时,报错invalid login。

  • 解决方法:

    1. 使用SSH方式登录到集群主节点,详情请参见登录集群

      重要

      请使用root用户进行以下操作。

    2. 执行以下命令,进入Superset命令行。

      source /usr/lib/superset-current/bin/activate
    3. 执行以下命令,创建管理员用户。

      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.
    4. 初始化用户。

      1. 执行以下命令,初始化数据库。

        superset db upgrade
      2. 执行以下命令,初始化Superset。

        superset init

        创建完成后,您需要创建隧道以查看开源组件的Web页面,然后使用新创建的用户登录Superset。创建隧道详情,请参见通过SSH隧道方式访问开源组件Web UI