上一节我们安装了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