Apache Superset 是一个数据浏览和可视化 Web 应用程序。EMR 上的 Superset,原装了对 Mysql、Hive、Presto、Impala、Kylin、Druid、Clickhouse 的支持。
Superset 特性
支持几乎所有主流的数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。 丰富的可视化展示,支持自定义创建 dashboard。
数据的展示完全可控,可自定义展示字段、聚合数据、数据源等。
前提条件
1. 已创建弹性-MapReduce(简称EMR)的 Hadoop 或 Druid 集群,并选择了 Superset 服务,详情请参见 创建 EMR 集群。 2. Superset 默认安装在集群的 master 节点上,打开 master 节点的安全组策略,确保您的网络可以访问 master 节点的18088端口。
登录
在浏览器地址栏中输入http://${master_ip}:18088(或者通过 EMR 控制台 > 集群服务), 打开 Supserset 登录界面,默认用户名为 admin,密码为您创建集群时的密码。
添加 DataBase
进入 Sources > Databases 界面,单击 Filter List。
进入如下页面,在 SQLAlchemy URI 中加入您需要添加的组件的 URI。
各个数据库的链接 SQLAlchemy URI 如下:
<!-- td { empty-cells:show;line-height:normal;color:#000;vertical-align:middle;outline-width:0;word-wrap:break-word;word-break:normal;white-space:nowrap;font-size:10pt; } table { border-collapse: collapse; } font{ white-space: pre-wrap }-->
|
Mysql | mysql+pymysql://:@:/ | mysqlname:连接 mysql 使用的用户名 password:mysql 密码 your_database:需要连接的 mysql 数据库 |
Hive | hive://hadoop@<master_ip>:7001/default?auth=NONE | Master_ip:EMR 集群的 master_ip |
presto | presto://hive@:9000/hive/ | Master_ip:EMR 集群的 master_ip hive_db_name:hive 中的数据库名称,不填默认为 default |
impala | impala://:27000 | core_ip:EMR 集群中的 core ip |
kylin | kylin://:@:16500/ | kylin_user:kylin 的用户名 password:kylin 的密码 master_ip:EMR 集群的 master_ip kylin_project:kylin 的项目 |
Clickhouse | clickhouse://:@:8123/ | clickhouse://default:password@localhost:8123/default user_name:用户名 password:密码 clickhouse-server-endpoint:ch 服务的服务 endpoint database_name:需要访问的 DB 名字 |
自行添加新 Database
Superset 支持 Database。如果您需要安装其他的数据库,可通过如下操作进行:
1. 登录 EMR 集群 master 所在机器。
2. 执行命令source /usr/local/service/superset/bin/activate。
3. pip3 install 对应的 Python 库。
4. 重启 Superset。