如何在MRS之上使用Superset进行数据分析?

Superset

Apache Superset 是一个现代的数据探索和可视化平台。具有功能强大、支持数据种类多、使用简单、易扩展、可视化能力丰富等诸多优势,在 github 上也有 4.6w+的 star.


如何在MRS之上使用Superset进行数据分析?

MRS


MRS 是华为云提供的一站式大数据平台,基本覆盖了 Hadoop 生态中常用的基本组件,免去我们运维、搭建的烦恼。


本文主要介绍如何在 MRS 之上使用 Superset 进行数据分析。

2.环境准备


  • 在华为云购买创建弹性云服务器 ECS(公共镜像建议选择 CentOS 8.2 64bit),用于安装运行 Superset,并绑定弹性公网 IP,用于访问公网安装依赖包和 Superset 服务。


  • MRS 服务开通,选择 MRS 3.1.0 版本的普通集群模式。注意网络与 superset 打通

3. superset 安装

3.1 登录已购买的 Linux 弹性云服务器,执行以下命令安装 Superset 运行依赖包



yum install gcc gcc-c++ libffi-devel openssl-devel cyrus-sasl-devel openldap-devel python36-devel cyrus-sasl-plain

复制代码

3.2 执行以下命令升级 pip 版本




pip3 install --upgrade pip

复制代码

3.3 执行以下命令安装 python 虚拟环境




pip install virtualenv

复制代码

3.4 执行以下命令创建,并进入 python 虚拟环境




python3 -m venv venv


. venv/bin/activate

复制代码

3.5 执行以下命令安装 python 依赖包




pip install dataclasses


pip install pyhive[hive]


pip install pyhive[presto]

复制代码

3.6 执行以下命令安装 Superset




pip install apache-superset

复制代码

3.7 执行以下命令初始化 database




superset db upgrade

复制代码

3.8 执行以下命令创建 admin 用户。需要输入用户名、FirstName、LastName 和电子邮箱地址和密码




export FLASK_APP=superset


superset fab create-admin

复制代码

3.9 执行以下命令初始化角色和用户信息




superset init

复制代码

3.10 执行以下命令启动 superset 服务




superset run -p 8088 -h 0.0.0.0 --with-threads --reload --debugger

复制代码

3.11 选择“服务列表 > 弹性云服务器 ECS > 待操作弹性云服务器名称 > 安全组”,单击“配置规则”。在配置规则界面,选择“入方向规则 > 添加规则”,将协议端口设置为 8088,源地址设置为访问 Supereset 页面的机器的 IP。

3.12 访问 http://ECS 弹性 IP:8088,并以 admin 用户登录,开始使用 Superset


如何在MRS之上使用Superset进行数据分析?

4. MRS Hive 对接


MRS HiveServer 通过 ZooKeeper 实现高可用,Superset 直接使用 pyhive 连接 HiveServer,无法通过 ZooKeeper 进行服务发现,因此只配置连接一个 HiveServer。

4.1 登录 MRS 管理控制台,在现有集群页面,单击集群名称进入 MRS Manager 页面。选择“组件管理 > Hive > 实例”,查看 HiveServer 实例所在节点 IP


如何在MRS之上使用Superset进行数据分析?

4.2 在 Superset 界面,选择“Data > Databases”,单击右侧的

如何在MRS之上使用Superset进行数据分析?

进入创建 Database 页面


如何在MRS之上使用Superset进行数据分析?

4.3 在 Add Database 页面填写 Database 和 SQL Alchemy URI。SQL Alchemy URI 的填写内容为“hive://{HiveServer 实例 ip}:端口/{hive database 名字}?auth=NONE”,其中,{HiveServer 实例 ip}为 HiveServer 实例的业务 IP,{hive database 名字}为要连接的 Hive Database,例如 default。勾选“Expose in SQL Lab”,单击“Save”保存配置。


MRS 普通集群 hiveserver2 默认端口为 10000。查看方式:登录 manager,点击 hive 服务,点击全部配置,搜索 hive.server2.thrift.port


如何在MRS之上使用Superset进行数据分析?


superset 配置:


如何在MRS之上使用Superset进行数据分析?

4.4 选择“SQL Lab > SQL Editor”,进入 Untitled Query 页面。在左侧“Database”下拉菜单中选择创建好的 Database,在“Select a schema”下拉菜单中选择要查询的 Schema(即 Hive 的 databse,如 default),在中间 SQL 编辑框内输入 SQL 语句。然后单击“RUN”按钮执行 SQL,在下方 Result 页签中查看执行结果。


如何在MRS之上使用Superset进行数据分析?

5. MRS SparkJDBC 对接使用

5.1 参考 hive 对接方式获取 SparkJDBC 实例 ip 与端口(默认 22550,配置项:hive.server2.thrift.port),然后在 Superset 添加 database。


如何在MRS之上使用Superset进行数据分析?

5.2 执行 SQL 验证


如何在MRS之上使用Superset进行数据分析?

6. Superset 中使用 MRS PrestoSQL

6.1 在 Manager 界面,选择“集群 > 服务 > Presto > 配置 > 全部配置” ,搜索配置项 PRESTO_COORDINATOR_FLOAT_IP ,获取 Presto Coordinator 浮动 IP


如何在MRS之上使用Superset进行数据分析?


端口:默认 7520


如何在MRS之上使用Superset进行数据分析?

6.2 添加 Presto database

SQL Alchemy URI 填写内容为“presto://{Presto Coordinator 浮动 IP}:{port}/{catalog 名称}/{schema 名称}”,其中{Presto Coordinator 浮动 IP}为 1 中获取的 Presto Coordinator 浮动 IP,{catalog 名称}为要连接的 Presto catalog,{schema 名称}为 catalog 对应的 schema 名字,例如 hive/default.


如何在MRS之上使用Superset进行数据分析?

6.3 执行 Presto SQL 验证


如何在MRS之上使用Superset进行数据分析?

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章