【大数据存储与处理】实验一 HBase 的基本操作

一、实验目的:

1. 掌握 Hbase 创建数据库表及删除数据库表 

2. 掌握 Hbase 对数据库表数据的增、删、改、查。

二、实验内容:

1、题目 0:进入 hbase shell 

2题目 1:Hbase 创建数据库表 创建数据库表的命令:create '表名', '列族名 1','列族名 2','列族名 N'

3、题目二:HBase 数据库表数据的增、删、改、查 Hbase 增加数据的语法格式如下: 通过命令 put‘表名’, ‘rowKey’, ‘列族 : 列’ , '值' 例:

put 'user', '0001', 'info1:name','jack' put 'user', '0001', 'info2:age','18' put 'user', '0002', 'info1:name','tom' Hbase 查询数据的语法格式如下: 通过命令:scan‘表名’来查看表的所有记录

4、题目三:Hbase 删除数据库表 Hbase 删除数据库的语法格式如下(drop '表名'): 在删除表时,先要屏蔽该表,才能对该表进行删除 第一步: disable ‘表名’,第二步 :drop '表名' Disable 表后可以通过命令:is_enabled '表名',查看当前表是否可用 通过 drop 命令对表进行删除 最后用 list 命令查看 user 是否已被成功删除。 

5题目四 HBase python 基本编程 查看 StudentInfo 表中行键为“001”、列族为“StuInfo”、时间戳为 1 和 2 的版本数据。 

6题目五 HBase python 基本编程 (1) 查询 HBase 中所有数据库表

题目 0:进入 hbase shell

题目一:Hbase 创建数据库表 

创建数据库表的命令:create '表名', '列族名 1','列族名 2','列族名 N' 

例如: 

以下示例创建了数据库表 user: 

如果想查看所有数据库表,可以使用 list 命令。 

可以看到,刚创建的数据库表 user 已经在数据库表的列表中,如果要看 user 表的结构, 

可以用命令:describeuser’,如下截图所示 

通过命令:count '表名来查看表中的所有记录的数量(根据 rowKey 来计算

题目二:HBase 数据库表数据的增、删、改、查 

Hbase 增加数据的语法格式如下

通过命令 put‘表名’rowKey‘列族 ’ , '

通过命令:scan‘表名’来查看表的所有记录

通过命令:get '表名' , 'rowKey' 来查看某个 rowKey 下的所有记录。

通过命令:count '表名' 来查看表中的所有记录的数量(根据 rowKey 来计算)

通过命令:get '表名','rowkey','列族' 来查看某个 rowKey 列族的记录

通过命令:get '表名','rowkey','列族:列来查看 rowKey 列族的某个列记

Hbase 删除数据的语法格式如下:

通过命令:delete‘表名’,‘行名’,‘列族:列' 来删除某个记录

通过命令:get 来查询删除的记录是否删除成功:

例:get 'user','0001','info1:name'

通过命令:deleteall '表名','rowkey' 来删除整行记录

通过命令:scan 来查看整个表的记录来看是否删除成功:

通过命令:truncate '表名' 来清空表所有的记录。

Hbase 更新数据的语法格式如下:

通过命令:put 就是重写一遍,进行覆盖,hbase 没有修改,都是追加

即对相同 rowKey、列族和时间戳的数据再次添加即为数据的更新

比如:put 'user', '0001', 'info1:name','zhangsan'

再次追加:put 'user', '0001', 'info1:name','zhangsan2'

通过 scan 命令可以查看到 rowKey=0001 的列族 info 的栏位 name 的值被成功改为

zhangsan2

题目三:Hbase 删除数据库表

Hbase 删除数据库的语法格式如下(drop '表名'):

在删除表时,先要屏蔽该表,才能对该表进行删除

第一步: disable ‘表名’,第二步 :drop '表名'

Disable 表后可以通过命令:is_enabled '表名',查看当前表是否可用

通过 drop 命令对表进行删除

 最后用 list 命令查看 user 是否已被成功删除。

题目四 HBase python 基本编程

查看 StudentInfo 表中行键为“001”、列族为“StuInfo”、时间戳为 1 和 2 的版本数据。。

题目五 HBase python 基本编程

1) 查询 HBase 中所有数据库表

步骤一:master 主节点打开 HBase 集群上的 thrift 服务。打开新终端输入命令;

hbase thrift start

步骤二:打开新终端输入命令:spyder,打开 python 编程环境

程序运行结果:

2) user 表插入行键“0003“、姓名 name 为“lisi”的一行数据,user 表列族为 info1。

程序运行结果:

HBase shell 输入命令:scan ‘user’

思考题:HBase 的分布式架构中有哪些组件?分别完成什么功能? 

答:

HBase是基于Hadoop的一个分布式列存储系统,其分布式架构主要包括以下组件:

1. RegionServer:RegionServer是HBase的关键组件之一,它运行在集群中的每个节点上,并负责管理和存储一个或多个表中的数据。RegionServer通过维护HBase表的多个Region来实现水平扩展,每个Region都是表的一个子集。RegionServer还负责处理客户端请求并执行基本的IO操作,例如读取、写入和删除数据。

2. HMaster:HMaster是HBase的另一个关键组件,它负责管理整个HBase集群的元数据信息,如表的结构、Region的分配和负载均衡等。HMaster还处理客户端请求,例如创建或删除表、修改表结构等。

3. ZooKeeper:ZooKeeper是一个开源的分布式协调服务,用于管理HBase集群中的配置和状态信息。在HBase集群中,ZooKeeper用于协调所有RegionServer和HMaster之间的通信。

4. HDFS:HDFS是Hadoop分布式文件系统,HBase使用HDFS来存储数据。HBase将数据分成多个HFile,然后将这些文件存储在HDFS上。HDFS提供了高可靠性和高可扩展性,使HBase能够轻松地进行水平扩展。

5. MemStore:MemStore是HBase内存中的数据缓存区,它存储了当前正在写入的数据。当达到一定大小时,MemStore将数据写入磁盘上的HFile中。MemStore在RegionServer级别上工作,即每个RegionServer都有自己的MemStore。

6. HFile:HFile是HBase中的底层存储格式,用于持久化存储HBase表的数据。HFile是一种高效的二进制文件格式,支持快速随机访问和值范围查找。每个Region都被划分为多个HFile,这些文件会被存储在HDFS上。

7. WAL:WAL(Write-Ahead Log)是HBase中的一种日志,用于记录对HBase表的所有写操作,包括插入、更新和删除。WAL可以防止数据丢失和损坏,当RegionServer或HBase集群出现故障时,WAL可以帮助恢复丢失的数据。

这些组件共同构成了HBase的分布式架构,实现了高可靠性、高可用性和高可扩展性。

小结

本实验介绍了 Hbase 的使用环境,要求掌握 Hbase 创建数据库表及删除数据库表,掌

 Hbase 对数据库表数据的增、删、改、查。注意区分 hbase shell 命令和 linux 命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/258335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CW32单片机在智能马桶的应用介绍

智能科技的迅速发展使得我们的日常生活变得更加便捷和舒适。智能马桶作为其中一种智能家居产品,通过单片机接受和处理来自传感器的数据,然后通过控制模块对智能马桶的各项功能进行控制,实现对智能马桶的全面控制和调节。本文将介绍CW32单片机…

【SSM】MyBatis

MyBatis 文章目录 MyBatis1. 简介2. 使用流程3. 基本使用3.1 配置文件3.2 SQL语句传参3.2 数据输入3.2.1 单个简单类型参数3.2.2 多个简单类型数据3.2.3 实体类类型参数3.2.4 Map类型参数 3.3 数据输出3.3.1 resultType指定输出类型3.3.2 返回实体类对象注意点3.3.3 返回主键值…

【PostgreSQL内核学习(十八)—— 存储管理(存储管理的体系结构)】

存储管理 概述存储管理器的体系结构存储管理器的主要任务读写元组过程 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。 本文主要参考…

基于C语言的坦克大战游戏开发

基于C语言的坦克大战游戏开发 在这篇文章中,我们将介绍如何使用C语言编写一个基本的坦克大战游戏。我们将使用C语言的基本语法和数据结构来实现游戏的逻辑和功能。 一、游戏概述 坦克大战是一款经典的射击游戏,玩家需要控制坦克在战场上移动、射击敌人并摧毁它们。游戏中…

MongoDB的查询分析explain和hint

本文主要介绍MongoDB的查询分析explain和hint。 目录 MongoDB的查询分析explainhint MongoDB的查询分析 在MongoDB中,"explain"和"hint"是两个用于查询优化和分析的关键指令。 explain 在MongoDB中,explain()是一个用于查询分析的…

【Java】学习指南总结(少走弯路必看!)

开篇 作为初学者,接触Java可能会觉得有些复杂。本文旨在帮助大家轻松入门Java,避免走弯路。 基础理解 刚开始接触Java时,首要任务是理解Java的基本构成。这包括Java的基础语法、应用范围、以及Java的核心组成部分:JVM&#xf…

CentOs7.x安装部署SeaTunnelWeb遇到的坑

CentOs7.x安装部署SeaTunnelWeb遇到的坑 文章目录 1. 环境2. SeaTunnel安装部署2.1下载安装包2.2 设置环境变量2.3 安装连接器插件2.4 拷贝jar包到lib下2.5 启动命令2.6 执行官方client提交任务demo 3. SeaTunnel-Web安装部署3.1 下载安装包3.2 初始化数据库脚本或修改配置appl…

【可用性】Redis作为注册中心配合Spring Task的高可用案例

需求: 假设当前有一个短信服务是多节点集群部署,我们希望每个服务节点在启动时能将服务信息"注册"到redis缓存中,所有服务节点每隔3分钟上报一次,表示当前服务可用。每个服务还会作为哨兵节点每隔10分钟查询一次redis&a…

STM32-I2C通讯-AHT20温湿度检测

非常感谢,提供的视频学习 https://www.bilibili.com/video/BV1QN411D7ak/?spm_id_from333.788&vd_source8ca4826038edd44bb618801808a5e076 该文章注意:串口显示中文会乱码,必须选用支持ASCII的串口助手,才能正常显示中文。…

针对这两个趋势,3.0全新新零售商业模式可以采取以下策略:

国内市场确实存在“消费升级”和“消费降级”两个趋势,这是由于不同消费者群体的需求和购买力存在差异。消费升级主要发生在高端市场,消费者愿意为高品质、高价值、高价格的商品和服务付出更多。而消费降级则主要发生在中低端市场,消费者更加…

ROS学习笔记(七)---参数服务器

ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 03. ROS学习笔记(三)—好用的终端Terminator 04. ROS学习笔记(四)—使用 VScode 启动launch文件运行多个节点 05. ROS学习笔…

Golang(壹)

爱情不需要华丽的言语,只需要默默的行动。 简介 应用领域: 下载vscode 使用vscode Go下载 - Go语言中文网 - Golang中文社区 下载sdk 解压到文件中,打开sdk解压文件 穿插dos操作系统知识点: 测试go语言环境 看到vscode 的目录结…

Redis学习笔记(二)

1. 说一说Redis集群的应用和优劣势 参考答案 优势: Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案达到负载均衡的…

智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.闪电连接过程算法4.实验参数设定…

Idea远程debugger调试

当我们服务部署在服务器上,我们想要像在本地一样debug,就可以使用idea自带的Remote JVM Debug 创建Remote JVM Debug服务器启动jar打断点进入断点 当我们服务部署在服务器上,我们想要像在本地一样debug,就可以使用idea自带的 Remote JVM Debug) 创建Rem…

UE5 水材质注意要点

1、两个法线反向交替流动,可以去观感假的现象 2、水面延边的透明度低 3、增加水面延边的浪花 4、增加折射 折射要整体质量至少在High才有效果 改为半透明材质没有法线信息? 5、处理反射效果 勾选为true 找到这个放在水域 勾为false,即可有非…

FPGA 实现 LeNet-5 卷积神经网络 数字识别,提供工程源码和技术支持

目录 1、前言LeNet-5简洁基于Zynq7020 的设计说明PL 端 FPGA 逻辑设计PS 端 SDK 软件设计免责声明 2、相关方案推荐卷积神经网络解决方案FPGA图像处理方案 3、详细设计方案PL端:ov7725摄像头及图像采集PL端:图像预处理PL端:Xilinx推荐的图像缓…

CentOS:Docker 创建及镜像删除

1、安装docker 远程连接服务器,可以直接下载netsarang比较好用 家庭/学校免费 - NetSarang Website 如果有残留docker未删除干净,请使用 sudo yum -y remove docker docker-common docker-selinux docker-engine Step1:安装必要的一些…

scrapy的入门和使用

scrapy的入门使用 学习目标: 掌握 scrapy的安装应用 创建scrapy的项目应用 创建scrapy爬虫应用 运行scrapy爬虫应用 scrapy定位以及提取数据或属性值的方法掌握 response响应对象的常用属性 1 安装scrapy 命令:     sudo apt-get install scrapy 或者&#x…

警惕!5本剔除!中科院1区TOP,IF8.8,预警高风险期刊更名!

期刊动态:2023年12月SCI、SSCI期刊目录更新 2023年12月19日,科睿唯安更新了WOS期刊目录,继上次11月WOS期刊目录剔除5本SCIE&SSCI期刊之后,此次12月更新又有5本期刊发生变动,其中有4本SCIE期刊被改名,1…