Apache Superset 是一个数据浏览和可视化 Web 应用程序。EMR 上的 Superset,原装了对 Mysql、Hive、Presto、Impala、Kylin 的支持。
Superset 特性
支持几乎所有主流的数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等。
丰富的可视化展示,支持自定义创建 dashboard。
数据的展示完全可控,可自定义展示字段、聚合数据、数据源等。
前提条件
1. 已创建弹性-MapReduce(简称EMR)的 Hadoop 或 Druid 集群,并选择了 Superset 服务,详情请参见 创建 EMR 集群。
2. Superset 默认安装在集群的 master 节点上,打开 master 节点的安全组策略,确保您的网络可以访问 master 节点的18088端口。
登录
在浏览器地址栏中输入
http://${master_ip}:18088
(或者通过 EMR 控制台 > 集群服务), 打开 Superset 登录界面,默认用户名为 admin,密码为您创建集群时的密码。注意


添加 DataBase
进入 Data > Databases 界面,单击 +DATABASE。

进入如下页面,即可选择您需要添加的数据源。



各个数据库的链接 SQLAlchemy URI 如下:
名称 | SQLAlchemy URI | 备注 |
Mysql | mysql+pymysql://<mysqlname>:<password>@<mysql_ip>:<mysql_port>/<your_database> | mysqlname:连接 mysql 使用的用户名 password:mysql 密码 your_database:需要连接的 mysql 数据库 |
Hive | hive://hadoop@<master_ip>:7001/default?auth=NONE | Master_ip:EMR 集群的 master_ip |
presto | presto://hive@<master_ip>:9000/hive/<hive_db_name> | Master_ip:EMR 集群的 master_ip hive_db_name:hive 中的数据库名称,不填默认为 default |
impala | impala://<core_ip>:27000 | core_ip:EMR 集群中的 core ip |
kylin | kylin://<kylin_user>:<password>@<master_ip>:16500/<kylin_project> | kylin_user:kylin 的用户名 password:kylin 的密码 master_ip:EMR 集群的 master_ip kylin_project:kylin 的项目 |
自行添加新 Database
Superset 支持 Database。如果您需要安装其它的数据库,可通过如下操作进行:
1. 登录 EMR 集群 master 所在机器。
2. 执行命令
source /usr/local/service/superset/bin/activate
。3. pip3 install 对应的 Python 库。
4. 重启 Superset。