上一节我们安装了hbase,本文将展示如何通过命令行对Hbase进行操作。
1 系统、软件以及前提约束
- 在CentOS7当中已经安装Hbase并启动
https://www.jianshu.com/p/90d1713d55ce - xshell客户端
注意:作者的CentOS7的ip是192.168.100.200,请读者根据实际情况设置。
2 操作
- 1.使用xshell连接CentOS7
- 2.进入hbase命令行
# 进入家目录 cd # 进入hbase的bin目录 cd hbase-1.2.6/bin # 进入hbase命令行 ./hbase shell
- 3.创建namespace
create_namespace 'nn'
- 4.创建一张表
# t1指表名字,f1指列簇名,注意都要带单引号,不用分号结束 create 't1','f1' # 创建一张指定namespace的表 create 'nn:t2','f1' # 查看当前都有哪些表 list # 查看某个namespace下的表 list_namespace_tables 'nn' # 描述某个表 desc 't1' # 描述某个namespace下的某个表 desc 'nn:t1'
- 5.增删改查表中数据
# 增加1条记录, t1是表名,key1是这条记录名,f1:name是列簇下的name列,ali是这一列的值
put 't1','key1','f1:name','ali'
# 继续增加1条记录, t1是表名,key1是这条记录名,f1:age是列簇下的name列,10是这一列的值
put 't1','key1','f1:age','10'
# 继续增加1条记录, t1是表名,key2是这条记录名,f1:name是列簇下的name列,xiaoli是这一列的值
put 't1','key2','f1:name','xiaoli'
# 继续增加1条记录, t1是表名,key2是这条记录名,f1:age是列簇下的name列,2是这一列的值
put 't1','key2','f1:age','2'
# 增加一个sal列及其值
put 't1','key1','f1:sal','2'
# 获取key1这条记录
get 't1','key1'
# 获取key1这条记录的f1列簇的值
get 't1','key1','f1'
# 获取key1这条记录的f1列簇中name的值
get 't1','key1','f1:name'
# 获取整个表的值
scan 't1'
# 获取某列簇的值
scan 't1',{COLUMNS=>'f1'}
# 获取key1向后的两行值
scan 't1',{STARTROW=>'key1',LIMIT=>2,COLUMNS=>'f1:age'}
# 查询值为ali的人
scan 't1',{FILTER=>"ValueFilter(=,'binary:ali')"}
# 查询值为2的人
scan 't1',{FILTER=>"ValueFilter(=,'binary:2')"}
# 查询年龄信息
scan 't1',{FILTER=>"ColumnPrefixFilter('age')"}
# 查询年龄中值为2的信息
# 注意:除了列(COLUMNS)修饰词外,
#HBase还支持Limit(限制查询结果行数),
#STARTROW (ROWKEY起始行)、
#STOPROW(结束行)、
#TIMERANGE(限定时间戳范围)、
#VERSIONS(版本数)、
#FILTER(按条件过滤行)等。
scan 't1',{FILTER=>"ColumnPrefixFilter('age') AND ValueFilter(=,'binary:2')"}
# 更新key1这条记录中的f1列簇的name列的值为zhangli
put 't1','key1','f1:name','zhangli'
# 验证
get 't1','key1','f1:name'
# 删除key1这条记录中的f1列簇的name列的值
delete 't1','key1','f1:name'
# 验证
get 't1','key1','f1:name'
# 删除key1这一行记录
deleteall 't1','key1'
# 验证
get 't1','key1'
- 6 修改t1表信息并再次查询
# 查看当前有哪些表
list
# 查看表的版本信息
describe 't1'
# 将t1表的版本信息由1改为3
alter 't1',{NAME=>'f1',VERSIONS=>3}
# 修改key1的age值
put 't1','key1','f1:age','22'
# 再次修改key1的age值
put 't1','key1','f1:age','23'
# 查看曾经的值
scan 't1',{COLUMN=>'f1:age',VERSIONS=>3}
# 给现有表增加一个列簇
alter 't1',{NAME=>'f2',VERSIONS=>3}
# 查看添加结果
describe 't1'
# 删除现有表中的一个列簇
alter 't1','delete'=>'f2'
# 查看添加结果
describe 't1'
- 7 删除t1表
# 先让表失效 disable 't1' # 删除 drop 't1' # 验证 list
以上就是使用命令行对hbase进行的基本操作。
来源:https://www.cnblogs.com/alichengxuyuan/p/12576886.html