有奖:语音产品征文挑战赛火热进行中> HOT
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 控制台 > 集群服务), 打开 Supserset 登录界面,默认用户名为 admin,密码为您创建集群时的密码。
注意
不同 Superset 社区版本 Web 页面交互可能存在差异,本文以 Superset 1.5.1 版本为示例,更多版本及使用方式可参考 Superset 官网文档




添加 DataBase

进入 Data > Databases 界面,单击 +DATABSASE

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


各个数据库的链接 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。