HBase Shell命令

1.进入HBase shell命令
hadoop@ubuntu:~$ hbase shell

2.查看HBase状态
hbase(main):001:0> status

3.创建一个表
hbase(main):002:0> create 'table','famly1','famly2'
table为表名,famly1,famly2均为列族名。

4.列出HBase中所有的表
hbase(main):003:0> list

5.添加一行
hbase(main):007:0> put 'table','row1','famly1:col1','value1'
table为表名,row1为行键,famly1:col1表示famly1中的col1列,value1为该列的值。
注意:hbase不能增加一行时同时设置列列的值,如下的put语句是非法的。
put 'table','row1','famly1:col1','value1','famly2:col2','value2'
这也正是我们HBase的优势体现,它在物理存储上是一种稀疏存储的。即保证了每一行中只有一个列有值,其他列为null,这样就有利于Key-Value查询。
如果,我们想在逻辑上实现上面的效果,我们只能按如下方式再加入一行。
hbase(main):012:0> put 'table','row1','famly2:col2','value2'

6.获取一行数据
hbase(main):008:0> get 'table','row1'
table为表名,row1为行键

7.扫描整个表的数据
hbase(main):009:0> scan 'table'
ROW                            COLUMN+CELL                                                                           
 row1                          column=famly1:col1, timestamp=1428498353070, value=value1                             
 row1                          column=famly2:col2, timestamp=1428498299318, value=value2                             
1 row(s) in 0.0190 seconds
再逻辑上,它将同一个键值的行当成了一个行,但是这样的一个行里面可能会根据列值的不同,又分成了多个行。

8.删除一行
hbase(main):011:0> delete 'table','row1','famly1:col1'
有一点,我们可能困惑,使用get得到一行时,我们只需要‘表名’和‘行号’即可,但是删除一行时,为什么还要加上一个‘列名’呢?,有了7中的解释,我们就不难发现为什么要这样设计了。
执行上面的命令后,我们再用scan看一下。
hbase(main):018:0> scan 'table'
ROW                            COLUMN+CELL                                                                           
 row1                          column=famly2:col2, timestamp=1428498299318, value=value2                             
1 row(s) in 0.0140 seconds

9.删除一个表
hbase(main):019:0> disable 'table'
0 row(s) in 1.3520 seconds
hbase(main):020:0> drop 'table'
0 row(s) in 0.2170 seconds
删除一个表时,我们先要将其disable掉,再用drop命令将器删除。

转载于:https://my.oschina.net/u/2328578/blog/397613

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值