使用商业智能软件Superset分析MRS数据之最佳实践

举报
啊喔YeYe 发表于 2022/06/06 17:48:20 2022/06/06
【摘要】 Superset是一款由Airbnb开源的“现代化的企业级BI(商业智能) Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。 MRS是华为云提供的一站式大数据平台,覆盖常用的所有Hadoop生态组件,使用Superset可无缝对接MRS进行自助分析

1. 概要

Superset

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

MRS

MRS是华为云提供的一站式大数据平台,基本覆盖了Hadoop生态中常用的基本组件,免去我们运维、搭建的烦恼。
本文主要介绍如何在MRS之上使用Superset进行数据分析。

2.环境准备

  1. 在华为云购买创建弹性云服务器ECS(公共镜像建议选择CentOS 8.2 64bit),用于安装运行Superset,并绑定弹性公网IP,用于访问公网安装依赖包和Superset服务。
  2. 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

image.png

4. MRS Hive对接

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

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

image.png

4.2 在Superset界面,选择“Data > Databases”,单击右侧的image.png进入创建Database页面

image.png

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
image.png
superset配置:
image.png

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

image.png

5. MRS SparkJDBC对接使用

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

image.png

5.2 执行SQL验证

image.png

6. Superset中使用MRS PrestoSQL

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

image.png
端口:默认7520
image.png

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.
image.png

6.3 执行Presto SQL验证

image.png

HBase Phoenix参考:MRS的HBase集群上安装Phoenix并对接superset

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。