大数据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数据库表的用法哦!
遇到问题的小伙伴,记得在评论区留言、林君学长看到会为大家解答的,这个学长不太冷!
陈一月的又一天编程岁月^ _ ^