Superset是一款轻量级BI工具。您可以使用Superset连接多个数据源自助分析并可视化、定义图表和看板、导入或导出看板,并且可以对用户和角色进行权限管理。本文以EMR-3.34.0版本的集群为例为您介绍如何使用Superset。

前提条件

创建E-MapReduce(简称EMR)的Hadoop或Druid集群,并选择了Superset服务。

创建集群详情,请参见创建集群

背景信息

Superset对E-MapReduce Druid做了深度集成,同时也支持多种关系型数据库。因为E-MapReduce Druid也支持SQL,所以您可以通过Superset以两种方式访问E-MapReduce Druid,即Apache Druid原生查询语言和SQL方式。

使用限制

  • Superset默认安装在emr-header-1节点,暂不支持HA。
  • Superset不支持通过KNOX访问Web UI。
  • 在使用Superset前,确保您的主机能够正常访问emr-header-1,详情请参见通过SSH隧道方式访问开源组件Web UI

Superset默认安装在emr-header-1节点,暂不支持HA,不支持通过KNOX访问Web UI。

使用Superset访问Druid

  1. 登录Superset。
    您需要在SSH连接中创建隧道以查看开源组件的Web页面,详情请参见通过SSH隧道方式访问开源组件Web UI
    默认用户名和密码均为admin,请您登录后及时修改密码。
    说明 首次登录后默认是英文界面。
  2. 添加Druid集群。
    1. 选择数据源 > Druid集群
    2. 单击Add图标。
    3. 添加Druid集群页面,配置如下参数。
      Add Druid
      参数 描述
      代理主机 填写为emr-header-1
      代理端口 需要在开源端口前加1。

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

      Cluster Name 您在E-MapReduce中创建的集群名称。
    4. 单击保存
  3. 添加数据源。
    1. 选择数据源 > Druid数据源
    2. 单击Add图标。
    3. 添加Druid数据源页面,配置如下参数。
      datasource
      参数 描述
      数据库名称 您可以自定义数据库的名称。
      集群 您添加的Druid集群的名称。
    4. 单击保存
      保存之后,您可以单击Edit图标,填写相应的维度列与指标列等信息。
  4. 查看添加的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. 添加Hive数据库。
    1. 选择数据源 > 数据库
    2. 单击Add图标。
    3. 添加数据库页面,填写数据库名称和SQLAlchemy URI。
      DataBase
      参数 描述
      数据库 您添加的数据库的名称。
      SQLAlchemy URI 填写为hive://emr-header-1:10000/
    4. 单击保存
  3. 添加数据表。
    1. 选择数据源 > 数据表
    2. 单击Add图标。
    3. 导入一个已定义的表页面,配置如下参数。
      add table
      参数 描述
      数据库 您添加的数据库的名称。
      表名 您添加的数据库中存在的表的名称。

      本文示例添加的是test表。

    4. 单击保存
  4. 查询数据库。
    1. 选择SQL工具箱 > SQL编辑器
    2. 选择添加的数据库Hive JDBC Server。
    3. 选择default模式。
    4. 您可以执行Hive命令查看数据库信息。
      如下图所示。check_table