大数据hadoop学习【8】-----HBase分布式数据库表及表中数据的基本操作


随着时间的慢慢推移,大数据基础课程也在慢慢的往后学习,前面我们介绍了通过Java编程实现了对hadoop文件系统HDFS进行了一系列的操作,对于hdfs的学习也可以暂告一段落,本次博客,林君学长将带大家了解HBase分布式数据库的操作与编程,并通过一系列的例题进行相应的辅助了解哦,一起来看吧!
本次的实验目的如下:

  • 掌握HBase操作常用Shell命令
  • 掌握HBase数据表的创建、添加数据、查看数据、删除数据、删除表、查询历史数据等操作

项目环境如下:

  • 软件:VMWare虚拟机 15.0
  • 系统环境:Linux
  • 操作系统:ubuntuKylin 16.04
  • 开发环境 :JAVA,Hadoop

一、HBase相关介绍

1、HBase定义

1)、HBase是一个分布式的、面向列的开源数据库,源于Google的一篇论文《BigTable:一个结构化数据的分布式存储系统》。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇(column family)。
欲了解HBase的官方资讯,请访问HBase官方网站:
http://hbase.apache.org/

2、Hbase的三种模式

1)、HBase的运行有三种模式:单机模式、伪分布式模式、分布式模式。

  • 单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储
  • 伪分布式模式:在一台计算机上模拟一个小的集群
  • 分布式模式:使用多台计算机实现物理意义上的分布式存储

本次的学习,林君学长主要是在伪分布模式下进行的相关操作哦!

二、 利用Shell命令进行Hbase表的相关操作

1、新建终端,运行Hbase

1)、运行SSH

ssh localhost

在这里插入图片描述
2)、运行hadoop

start-dfs.sh

在这里插入图片描述
3)、运行hbase

start-hbase.sh

在这里插入图片描述

2、HBase数据库中表的创建

1)、进入hbase中的shell界面

hbase shell

在这里插入图片描述
2)、HBase中用create命令创建表

create 'student','Sname','Ssex','Sage','Sdept','course'

在这里插入图片描述
3)、查询‘student’表

describe 'student'

在这里插入图片描述

3、HBase数据库表数据的基本操作—添加数据

1)、添加数据

put 'student','10000','Sname','ZhangSan'
put 'student','10000','course:math','80'
put 'student','10000','Ssex','男'
get 'student','10000'

为student表添加了学号为10000,名字为ZhangSan的一行数据,其行键为10000。并添加课程分数和性别,后通过get命令进行查看

在这里插入图片描述

4、HBase数据库表数据的基本操作—查看数据

1)、get命令查看数据

get 'student','10000'

命令执行截图如下, 返回的是‘student’表‘95001’行的数据:
在这里插入图片描述
2)、scan命令查看数据

scan 'student'

命令执行截图如下, 返回的是‘student’表的全部数据:
在这里插入图片描述

5、HBase数据库表数据的基本操作—删除数据

1)、delete用于删除一个数据,是put的反向操作

delete 'student','10000','Ssex'

在这里插入图片描述
在这里插入图片描述
可以看到,性别一列已经被删除
2.)、deleteall操作用于删除一行数据。

deleteall 'student','10000'

在这里插入图片描述
上面添加的数据已经被完全删除啦!

三、删除表

删除表有两步,第一步先让该表不可用,第二步删除表!

1、让该表不可用

disable 'student' 

在这里插入图片描述

2、删除该表

drop 'student'

在这里插入图片描述

四、查询表历史数据

查询表的历史版本,需要两步:
1、在创建表的时候,指定保存的版本数
2、插入数据然后更新数据,使其产生历史版本数据

1、在创建表的时候,指定保存的版本数(假设指定为5)

create 'teacher',{NAME=>'username',VERSIONS=>5}

在这里插入图片描述

2、插入数据然后更新数据,使其产生历史版本数据

注意:这里插入数据和更新数据都是用put命令

put 'teacher','1000','username','ChenYiYue'
put 'teacher','1000','username','ChenYiYue1'
put 'teacher','1000','username','ChenYiYue2'
put 'teacher','1000','username','ChenYiYue3'
put 'teacher','1000','username','ChenYiYue4'  
put 'teacher','1000','username','ChenYiYue5'

在这里插入图片描述

3、查询时,指定查询的历史版本数。默认会查询出最新的数据

有效取值为1到5

get 'teacher','1000',{COLUMN=>'username',VERSIONS=>5}
get 'teacher','1000',{COLUMN=>'username',VERSIONS=>2}

在这里插入图片描述

4、退出Hbase数据库

1)、退出Hbase数据库的shell界面

exit

在这里插入图片描述
2)、一次关闭hbase、hadoop、ssh
使用记得要有良好的习惯,对维护自己的hadoop和hbase有很大的好处,记得不用的时候关闭哦!

stop-hbase.sh
stop-dfs.sh
exit

在这里插入图片描述
以上就是本次博客的全部内容啦,希望对本次博客的阅读,可以帮助小伙伴们更好的解决Hbase数据库表的用法哦!
遇到问题的小伙伴,记得在评论区留言、林君学长看到会为大家解答的,这个学长不太冷!

陈一月的又一天编程岁月^ _ ^

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈一月的编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值