写点什么

如何使用 Superset 可无缝对接 MRS 进行自助分析

  • 2022 年 6 月 08 日
  • 本文字数:1968 字

    阅读完需:约 6 分钟

本文分享自华为云社区《使用商业智能软件Superset分析MRS数据之最佳实践》,作者: 啊喔 YeYe 。

1. 概要

Superset

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


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


4. MRS Hive 对接


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

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


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

进入创建 Database 页面


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



superset 配置:


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


5. MRS SparkJDBC 对接使用

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


5.2 执行 SQL 验证


6. Superset 中使用 MRS PrestoSQL

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



端口:默认 7520


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.


6.3 执行 Presto SQL 验证




华为伙伴暨开发者大会 2022 火热来袭,重磅内容不容错过!

【精彩活动】

勇往直前·做全能开发者→12 场技术直播前瞻,8 大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!点击踏上全能开发者晋级之路吧!

【技术专题】

未来已来,2022 技术探秘→华为各领域的前沿技术、重磅开源项目、创新的应用实践,站在智能世界的入口,探索未来如何照进现实,干货满满点击了解


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 4
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
如何使用Superset可无缝对接MRS进行自助分析_大数据_华为云开发者联盟_InfoQ写作社区