Hbase Shell 操作

进入hbase shell 

[root@ambari ~]# hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.1.2.2.6.4.0-91, r2a88e694af7238290a5747f963a4fa0079c55bf9, Thu Jan  4 10:42:39 UTC 2018

 查看当前用户

hbase(main):007:0> whoami
root (auth:SIMPLE)
    groups: root
 

 查看当前运行服务器状态

hbase(main):001:0> status
1 active master, 0 backup masters, 3 servers, 0 dead, 1.0000 average load

 查看版本

hbase(main):002:0> version
1.1.2.2.6.4.0-91, r2a88e694af7238290a5747f963a4fa0079c55bf9, Thu Jan  4 10:42:39 UTC 2018

 查看库中所有表

hbase(main):003:0> list
TABLE
hb_data_analysis:mrt_ipad_salesperformance
1 row(s) in 1.4480 seconds

=> ["hb_data_analysis:mrt_ipad_salesperformance"]
 

 判断表是否存在

 hbase(main):010:0> exists 'mrt_ipad_salesperformance'
Table mrt_ipad_salesperformance does not exist
0 row(s) in 0.0080 seconds

 判断表是否enable

hbase(main):021:0> is_enabled 'hb_data_analysis:mrt_ipad_salesperformance'
true
0 row(s) in 0.0150 seconds
 

 判断表是否disable

hbase(main):029:0> is_disabled 'hb_data_analysis:mrt_ipad_salesperformance'
false
0 row(s) in 0.0140 seconds

命名空间可以被创建、移除、修改。
表和命名空间的隶属关系在在创建表时决定,通过以下格式指定:
<namespace>:<table>

 

查看当前所有命名空间

hbase(main):041:0> list_namespace
NAMESPACE
default
hb_data_analysis
hbase
3 row(s) in 0.5210 seconds
 

预定义的命名空间
有两个系统内置的预定义命名空间:
hbase:系统命名空间,用于包含hbase的内部表
default:所有未指定命名空间的表都自动进入该命名空间
Example:指定命名空间和默认命名空间 


列出某个命名空间所有表

hbase(main):042:0> list_namespace_tables 'hb_data_analysis'
TABLE
mrt_ipad_salesperformance
1 row(s) in 0.0590 seconds
 

创建命名空间 

 hbase(main):031:0> create_namespace 'test_ns'
0 row(s) in 2.9120 seconds

 创建表并查看

语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
具体命令:
create 't1', {NAME => 'f1', VERSIONS => 5}
create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
省略模式建立列族:
create 't1', 'f1', 'f2', 'f3'
指定每个列族参数:
create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}

hbase(main):032:0> create 'test_ns:test_table','column_famaly','column_famaly1','column_famaly2'
0 row(s) in 15.5060 seconds

=> Hbase::Table - test_ns:test_table
hbase(main):033:0> list
TABLE
hb_data_analysis:mrt_ipad_salesperformance
test_ns:test_table
2 row(s) in 0.0040 seconds

=> ["hb_data_analysis:mrt_ipad_salesperformance", "test_ns:test_table"]
 

向表中插入数据并显示

hbase(main):045:0> put 'test_ns:test_table', '001','column_famaly:name','Tom'
0 row(s) in 0.3730 seconds

hbase(main):046:0> put 'test_ns:test_table', '001','column_famaly1:gender','man'
0 row(s) in 0.0130 seconds

hbase(main):047:0> put 'test_ns:test_table', '001','column_famaly2:chinese','90'
0 row(s) in 0.0110 seconds

hbase(main):048:0> put 'test_ns:test_table', '001','column_famaly2:math','91'
0 row(s) in 0.0100 seconds

hbase(main):049:0> scan 'test_ns:test_table'
ROW                                 COLUMN+CELL
 001                                column=column_famaly:name, timestamp=1545035218208, value=Tom
 001                                column=column_famaly1:gender, timestamp=1545035223699, value=man
 001                                column=column_famaly2:chinese, timestamp=1545035229267, value=90
 001                                column=column_famaly2:math, timestamp=1545035234274, value=91
1 row(s) in 0.1110 seconds
 

 按照rowkey查询数据

 hbase(main):050:0> get 'test_ns:test_table','001'
COLUMN                              CELL
 column_famaly:name                 timestamp=1545035218208, value=Tom
 column_famaly1:gender              timestamp=1545035223699, value=man
 column_famaly2:chinese             timestamp=1545035229267, value=90
 column_famaly2:math                timestamp=1545035234274, value=91
4 row(s) in 0.1970 seconds

 修改表结构 - 删除列族

先disable 表,然后修改表,最后enable表, 区分大小写

hbase(main):051:0> disable 'test_ns:test_table'
0 row(s) in 4.3510 seconds

hbase(main):052:0> alter 'test_ns:test_table',{NAME=>'column_famaly1',METHOD=>'delete'}
Updating all regions with the new schema...
1/1 regions updated.
Done.
0 row(s) in 4.1490 seconds

hbase(main):053:0> enable 'test_ns:test_table'
0 row(s) in 4.4070 seconds
 

表重命名

停用表 - 为表创建快照 -根据快照复制新表并赋值数据 -删除快照 - 删除旧表

hbase(main):054:0> disable 'test_ns:test_table'
0 row(s) in 4.3310 seconds

hbase(main):055:0> snapshot 'test_ns:test_table', 'test_tableSnapshot'
0 row(s) in 3.2700 seconds

hbase(main):056:0> clone_snapshot 'test_tableSnapshot', 'test_ns:test1_table'
0 row(s) in 4.8110 seconds

hbase(main):057:0> delete_snapshot 'test_tableSnapshot'
0 row(s) in 0.1030 seconds

hbase(main):058:0> drop 'test_ns:test_table'
0 row(s) in 2.3120 seconds
 

 按照列名查询

hbase(main):059:0> scan 'test_ns:test1_table',{COLUMNS=>'column_famaly:name'}
ROW                                 COLUMN+CELL
 001                                column=column_famaly:name, timestamp=1545035218208, value=Tom
1 row(s) in 0.1250 seconds

 

删除命名空间, 需要先删除该命名空间下的所有的表,先disable table 再drop table

hbase(main):034:0> disable 'test_ns:test_table'
0 row(s) in 4.4930 seconds

hbase(main):035:0> drop 'test_ns:test_table'
0 row(s) in 2.4490 seconds
 

查询两个rowkey之间的数据

hbase(main):060:0> scan 'test_ns:test1_table',{STARTROW=>'001',STOPROW=>'002'}
ROW                                 COLUMN+CELL
 001                                column=column_famaly:name, timestamp=1545035218208, value=Tom
 001                                column=column_famaly2:chinese, timestamp=1545035229267, value=90
 001                                column=column_famaly2:math, timestamp=1545035234274, value=91
1 row(s) in 0.0180 seconds
 

最后删除命名空间

hbase(main):040:0> drop_namespace 'test_ns'
0 row(s) in 0.2370 seconds
 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值