如何使用 Superset 可无缝对接 MRS 进行自助分析
本文分享自华为云社区《使用商业智能软件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 运行依赖包
3.2 执行以下命令升级 pip 版本
3.3 执行以下命令安装 python 虚拟环境
3.4 执行以下命令创建,并进入 python 虚拟环境
3.5 执行以下命令安装 python 依赖包
3.6 执行以下命令安装 Superset
3.7 执行以下命令初始化 database
3.8 执行以下命令创建 admin 用户。需要输入用户名、FirstName、LastName 和电子邮箱地址和密码
3.9 执行以下命令初始化角色和用户信息
3.10 执行以下命令启动 superset 服务
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 技术探秘→华为各领域的前沿技术、重磅开源项目、创新的应用实践,站在智能世界的入口,探索未来如何照进现实,干货满满点击了解
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/821fa3c73df195728d70cf7f0】。文章转载请联系作者。
评论