如何使用Superset可无缝对接MRS进行自助分析
摘要:本文主要介绍如何在MRS之上使用Superset进行数据分析。
本文分享自华为云社区《使用商业智能软件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技术探秘→华为各领域的前沿技术、重磅开源项目、创新的应用实践,站在智能世界的入口,探索未来如何照进现实,干货满满点击了解
如何使用Superset可无缝对接MRS进行自助分析的更多相关文章
- 5路数字量输入Di,5路大电流继电器输出,可电脑控制,支持modbus协议工业模块,支持和DCS,PLC无缝对接。
数字量输入输出模块MRD-5060具有5路DI,5路继电器输出,1路485接口(支持Modbus RTU),能实现5路DI(干接点输入)转485的采集,也可以通过485控制5路继电器(5A30VDC, ...
- 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)
上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...
- 今天代码中接触到了一个新的东西。js的上下自动滚动,无缝对接。
js的上下自动滚动,无缝对接.为什么会用到这个东西呢?因为我在做公司的官网项目的修改的时候.有一个产品介绍的页面,会有很多的产品出现在,中间部分的列表里.但是又不能够使用分页.所以我就在想如果,列表数 ...
- xmake v2.3.1 发布, 无缝对接其他构建系统
最近对xmake内部做了不少的重构来改进,并且新增了不少实用的新特性,欢迎来体验. 项目源码 官方文档 一些新特性: 一键编译其他构建系统维护的项目,实现无缝对接,并且支持交叉编译(比如autotoo ...
- iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互
目 录 1. 概述... 2 2. 平台演示... 2 3. 硬件网关的基本操作... 3 3.1 数据采集... 3 3.2 ...
- 金蝶K3管理软件PDA条码解决方式,盘点机与金蝶K3无缝对接
申明:以上文字为"武汉汉码科技有限公司"原创,转载时务必注明出处. 技术分享,沟通你我,共同进步!www.hanma-scan.com 原帖:http://www.hanma-sc ...
- 汉码盘点机PDA无缝对接思迅思迅盘点机思迅条码数据采集器批号商品盘点的方法
1.1. 盘点批号 如果某些商品进行了批号管理,我们不仅仅要清点什么商品总数有多少个,我们还要区分该商品的某个批号有多少个数量,因此以前批号盘点工作量是非常大的. 我们的盘点机PDA支持批号盘点 ...
- 记一次 .NET 某机械臂智能机器人控制系统MRS CPU爆高分析
一:背景 1. 讲故事 这是6月中旬一位朋友加wx求助dump的故事,他的程序 cpu爆高UI卡死,问如何解决,截图如下: 在拿到这个dump后,我发现这是一个关于机械臂的MRS程序,哈哈,在机械臂这 ...
- 华为云FusionInsight MRS:助力企业构建“一企一湖,一城一湖”
摘要:华为云FusionInsight MRS新一代的数据湖,让大数据越用越快.越用越易.越用越稳.越用越省!让数据价值近在眼前! 10月30日,以"携手共赢·数创未来"为主题的第 ...
随机推荐
- Reflect.has检测对象是否拥有某个属性
Reflect.has({x: 0}, 'x'); // true Reflect.has({x: 0}, 'y'); // false // returns true for properties ...
- JavaScript实现科学计算器
运行效果: 可实现科学计算器的功能,如:PI,sin,cos,tan等 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> ...
- Taro开发微信小程序遇到的问题和解决方法
1.scroll-view 置顶, 给设置scroll-top为0无效问题? 解决方案: 不触发置顶问题,需要给scroll-top一个设置接近0的随机数,Math.random() 2.scroll ...
- 《头号玩家》AI电影调研报告(四)
五. 现实中对于技术的实现 1.自由变身 电影中,主人公借助"魔幻眼镜"让自己快速变成另一个人的模样,现实中我们一样也能做到! 在今年游戏开发者大会(GDC)上,一个名为" ...
- YC-Framework版本更新:V1.0.6
分布式微服务框架:YC-Framework版本更新V1.0.6!!! 本文主要内容: V1.0.6版本更新主要内容 V1.0.6版本更新主要内容介绍 一.V1.0.6版本更新主要内容 1.系统例子覆盖 ...
- python并发——生产者消费者信号量实现
介绍 写扫描器的时候,需要让资产扫描结果一出来(生产者),另外一边就会开个线程去运行漏洞扫描(消费者). 但是又不能让结果没出来,另外一边消费者就开始干活了. 代码 # *coding:UTF-8 * ...
- oracle之lsnrctl命令
采样: [oracle@sh02 ~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) ...
- MongoDB 支持地理空间数据存储
MongoDB 支持地理空间数据存储 官方文档 https://docs.mongodb.com/manual/geospatial-queries/ MongoDB 支持对于地理空间数据的查询操作. ...
- 3.Docker容器学习之新手基础使用
原文地址: http://blog.weiyigeek.top/2019/5/2-docker%E5%AD%A6%E4%B9%A0%E4%B9%8B%E5%9F%BA%E7%A1%80%E4%BD%B ...
- Hyperledger Fabric无系统通道启动及通道的创建和删除
前言 在Hyperledger Fabric组织的动态添加和删除中,我们已经完成了在运行着的网络中动态添加和删除组织,但目前为止,我们启动 orderer 节点的方式都是通过系统通道的方式,这样自带系 ...