Hbase_Shell基本操作
环境和说明
软硬件环境
CentOS7 64位
jdk1.8
hadoop2.7.4
Hbase1.3.1
前置实验Hbase伪分布式环境搭建
一、 操作准备
1、 启动Hadoop,启动Hbase
$HOME/apps/hadoop/bin/start-dfs.sh #启动HDFS
$HOME/apps/hadoop/bin/start-yarn.sh #启动yarn
$HOME/apps/hbase/bin/start-hbase.sh #启动hbase服务
2、 启动hbase shell
$HOME/apps/hbase/bin/hbase shell #进入shell
3、 查看Hbase服务状态
status #查看服务状态
4、 查询hbase版本信息
version
二、 Hbase DDL操作
1、 创建表
表名为:test;列族有:user和course
create 'test','user','course' #创建表test,列族有user和course
2、 列出所有的表,并查看test表
list #列出hbase中所有的表
describe 'test' #查看表test的描述信息
3、 查看表是否被enable
is_enabled 'test' #判断表是否enable
4、 删除一个列族,注意删除前要先把表disable
disable 'test' #禁用表
alter 'test',{NAME=>'course',METHOD=>'delete'} #删除course列族,注意NAME,METHOD大写
enable 'test' #启用表
describe 'test' #查看表
5、 删除表,注意删除前先把表disable
disable 'test' #禁用表
drop 'test' #删除表
list #查看表列表
三、 HBase DML操作
1、 使用put向表中插入数据
之前的操作已经把表删除,先建表
create 'test','user','course'
put 'test','a2017001','user:name','zhangsan'
put 'test','a2017001','user:sex','男'
put 'test','a2017001','course:math',90
put 'test','a2017001','course:english','80'
put 'test','a2017002','user:name','lisi'
put 'test','a2017002','course:math',70
put 'test','a2017002','course:english','80'
2、 全表扫描
scan 'test'
3、 通过get检索数据
get 'test','a2017001','user' #检索a2017001的列族user的所有数据
get 'test','a2017001','user:name','course:math' #查询a2017001列族中某个列的值
4、 更新操作
put 'test','a2017001','course:math',100 #将a2017001的course列族中math列更新为100
get 'test','a2017001','course:math' #查看修改后的数据
5、 查询表中有多少条数据
count 'test'
6、 删除数据
delete 'test','a2017001','user:sex' #删除列族user中的sex列
get 'test','a2017001','user' #查看列族user中是否存在sex列
deleteall 'test','a2017001' #删除整行•
scan 'test' #查看表中数据是否还存在a2017001
7、 清空整个表
truncate 'test' #清空表
scan 'test' #扫描表查看数据
实验完成!