禁用表:disable '表名'
启用表:enable '表名'
Group name: replication
Commands: add_peer, disable_peer,enable_peer, remove_peer, start_replication, stop_replication
---------------------------------------------------------------------------------
一、一般操作
1. 查询服务器状态
hbase(main):024:0>status
4 servers, 1 dead, 108.0000 average load
2.查询Hbase版本
hbase(main):025:0>version
1.1.2.2.4.2.0-258, rUnknown, Mon Apr 25 06:36:21 UTC 2016
二、DDL操作
1. 创建一个表
hbase(main):011:0>create 'member','member_id','address','info'
0 row(s) in 1.2210seconds
2. 获得表的描述
hbase(main):012:0>list
TABLE
member
1 row(s) in 0.0160seconds
hbase(main):169:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'N
ONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE =>
'true'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE
', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 't
rue'}
{NAME => 'member_id', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION =>
'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE
=> 'true'}
3 row(s) in 0.0240 seconds
3. 删除一个列族,alter,disable,enable
我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。
hbase(main):003:0>alter 'member',{NAME=>'member_id',METHOD=>'delete'}
ERROR: Table memberis enabled. Disable it first before altering.
报错,删除列族的时候必须先将表给disable掉。
hbase(main):004:0>disable 'member'
0 row(s) in 2.0390seconds
hbase(main):005:0>alter'member',{NAME=>'member_id',METHOD=>'delete'}
0 row(s) in 0.0560seconds
hbase(main):003:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE
=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KE
EP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'tr
ue'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE =>
'0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_
DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'
}
2 row(s) in 0.0220 seconds
该列族已经删除,我们继续将表enable
hbase(main):008:0> enable 'member'
0 row(s) in 2.0420seconds
4. drop一个表
hbase(main):029:0>disable 'member'
0 row(s) in 2.0590seconds
hbase(main):030:0>drop 'member'
0 row(s) in 1.1070seconds
5. 查询表是否存在
hbase(main):005:0> exists 'member'
Table member does exist
0 row(s) in 0.0170 seconds
6. 判断表是否enable
hbase(main):034:0>is_enabled 'member'
true
0 row(s) in 0.0110seconds
判断表是否disable
hbase(main):032:0>is_disabled 'member'
false
0 row(s) in 0.0110seconds
三、DML操作
1. 插入几条记录(put '表名称', '行名称', 列簇:列名称', '值')
put'member','scutshuxue','info:age','24'
put'member','scutshuxue','info:birthday','1987-06-17'
put'member','scutshuxue','info:company','alibaba'
put'member','scutshuxue','address:contry','china'
put'member','scutshuxue','address:province','zhejiang'
put'member','scutshuxue','address:city','hangzhou'
put'member','xiaofeng','info:birthday','1987-4-17'
put'member','xiaofeng','info:favorite','movie'
put'member','xiaofeng','info:company','alibaba'
put'member','xiaofeng','address:contry','china'
put'member','xiaofeng','address:province','guangdong'
put'member','xiaofeng','address:city','jieyang'
put'member','xiaofeng','address:town','xianqiao'
2. 获取一条数据:获取一个id的所有数据
hbase(main):002:0> get 'member','scutshuxue'
COLUMN CELL
address:city timestamp=1492679285200, value=hangzhou
address:contry timestamp=1492679285159, value=china
address:province timestamp=1492679285179, value=zhejiang
info:age timestamp=1492679285087, value=24
info:birthday timestamp=1492679285115, value=1987-06-17
info:company timestamp=1492679285137, value=alibaba
6 row(s) in 0.0360 seconds
3. 获取一个id,一个列族的所有数据
hbase(main):003:0> get 'member','scutshuxue','info'
COLUMN CELL
info:age timestamp=1492679285087, value=24
info:birthday timestamp=1492679285115, value=1987-06-17
info:company timestamp=1492679285137, value=alibaba
3 row(s) in 0.0290 seconds
4. 获取一个id,一个列族中一个列的所有数据
hbase(main):004:0> get 'member','scutshuxue','info:age'
COLUMN CELL
info:age timestamp=1492679285087, value=24
1 row(s) in 0.0140 seconds
5. 更新一条记录:将scutshuxue的年龄改成99
hbase(main):005:0> put 'member','scutshuxue','info:age','99'
0 row(s) in 0.0820 seconds
hbase(main):006:0> get 'member','scutshuxue','info:age'
COLUMN CELL
info:age timestamp=1492680082372, value=99
1 row(s) in 0.0130 seconds
6. 通过timestamp来获取两个版本的数据
hbase(main):008:0> get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}
COLUMN CELL
0 row(s) in 0.0090 seconds
get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586571843}
全表扫描:
hbase(main):001:0> scan 'member'
ROW COLUMN+CELL
scutshuxue column=address:city, timestamp=1492679285200, value=hangzhou
scutshuxue column=address:contry, timestamp=1492679285159, value=china
scutshuxue column=address:province, timestamp=1492679285179, value=zhejiang
scutshuxue column=info:age, timestamp=1492680082372, value=99
scutshuxue column=info:birthday, timestamp=1492679285115, value=1987-06-17
scutshuxue column=info:company, timestamp=1492679285137, value=alibaba
xiaofeng column=address:city, timestamp=1492679441516, value=jieyang
xiaofeng column=address:contry, timestamp=1492679441440, value=china
xiaofeng column=address:province, timestamp=1492679441475, value=guangdong
xiaofeng column=address:town, timestamp=1492679441589, value=xianqiao
xiaofeng column=info:birthday, timestamp=1492679285229, value=1987-4-17
xiaofeng column=info:company, timestamp=1492679441376, value=alibaba
xiaofeng column=info:favorite, timestamp=1492679285249, value=movie
2 row(s) in 0.3240 seconds
7. 删除id为scutshuxue 的值的‘info:age’字段(delete)
hbase(main):002:0> delete 'member','scutshuxue','info:age'
0 row(s) in 0.0060 seconds
hbase(main):003:0> get 'member','scutshuxue'
COLUMN CELL
address:city timestamp=1492679285200, value=hangzhou
address:contry timestamp=1492679285159, value=china
address:province timestamp=1492679285179, value=zhejiang
info:company timestamp=1492679285137, value=alibaba
4 row(s) in 0.0300 seconds
删除整行(deleteall)
hbase(main):001:0>deleteall 'member','xiaofeng'
0 row(s) in 0.3990seconds
8. 查询表中有多少行(count):
hbase(main):009:0> count 'member'
1 row(s) in 0.0130 seconds
=> 1
9. 给‘xiaofeng’这个id增加'info:age'字段,并使用counter实现递增
hbase(main):009:0> incr 'member','xiaofeng','info:age'
COUNTER VALUE = 1
0 row(s) in 0.1230 seconds
hbase(main):010:0> get 'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1492682041028, value=\x00\x00\x00\x00\x00\x00\x00\x01
1 row(s) in 0.1050 seconds
hbase(main):011:0> incr 'member','xiaofeng','info:age'
COUNTER VALUE = 2
0 row(s) in 0.0140 seconds
hbase(main):012:0> get 'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1492682332791, value=\x00\x00\x00\x00\x00\x00\x00\x02
1 row(s) in 0.0130 seconds
10. 获取当前count的值
hbase(main):069:0>get_counter 'member','xiaofeng','info:age'
COUNTER VALUE = 2
11. 将整张表清空(truncate):
hbase(main):019:0> truncate 'member'
Truncating 'member' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 7.0780 seconds
hbase(main):020:0> scan 'member'
ROW COLUMN+CELL
0 row(s) in 0.3260 seconds
可以看出,hbase是先将disable掉,然后drop掉后重建表来实现truncate的功能的。
启用表:enable '表名'
Group name: replication
Commands: add_peer, disable_peer,enable_peer, remove_peer, start_replication, stop_replication
---------------------------------------------------------------------------------
一、一般操作
1. 查询服务器状态
hbase(main):024:0>status
4 servers, 1 dead, 108.0000 average load
2.查询Hbase版本
hbase(main):025:0>version
1.1.2.2.4.2.0-258, rUnknown, Mon Apr 25 06:36:21 UTC 2016
二、DDL操作
1. 创建一个表
hbase(main):011:0>create 'member','member_id','address','info'
0 row(s) in 1.2210seconds
2. 获得表的描述
hbase(main):012:0>list
TABLE
member
1 row(s) in 0.0160seconds
hbase(main):169:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'N
ONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE =>
'true'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE
', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 't
rue'}
{NAME => 'member_id', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION =>
'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE
=> 'true'}
3 row(s) in 0.0240 seconds
3. 删除一个列族,alter,disable,enable
我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。
hbase(main):003:0>alter 'member',{NAME=>'member_id',METHOD=>'delete'}
ERROR: Table memberis enabled. Disable it first before altering.
报错,删除列族的时候必须先将表给disable掉。
hbase(main):004:0>disable 'member'
0 row(s) in 2.0390seconds
hbase(main):005:0>alter'member',{NAME=>'member_id',METHOD=>'delete'}
0 row(s) in 0.0560seconds
hbase(main):003:0> describe 'member'
Table member is ENABLED
member
COLUMN FAMILIES DESCRIPTION
{NAME => 'address', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE
=> '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KE
EP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'tr
ue'}
{NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE =>
'0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_
DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'
}
2 row(s) in 0.0220 seconds
该列族已经删除,我们继续将表enable
hbase(main):008:0> enable 'member'
0 row(s) in 2.0420seconds
4. drop一个表
hbase(main):029:0>disable 'member'
0 row(s) in 2.0590seconds
hbase(main):030:0>drop 'member'
0 row(s) in 1.1070seconds
5. 查询表是否存在
hbase(main):005:0> exists 'member'
Table member does exist
0 row(s) in 0.0170 seconds
6. 判断表是否enable
hbase(main):034:0>is_enabled 'member'
true
0 row(s) in 0.0110seconds
判断表是否disable
hbase(main):032:0>is_disabled 'member'
false
0 row(s) in 0.0110seconds
三、DML操作
1. 插入几条记录(put '表名称', '行名称', 列簇:列名称', '值')
put'member','scutshuxue','info:age','24'
put'member','scutshuxue','info:birthday','1987-06-17'
put'member','scutshuxue','info:company','alibaba'
put'member','scutshuxue','address:contry','china'
put'member','scutshuxue','address:province','zhejiang'
put'member','scutshuxue','address:city','hangzhou'
put'member','xiaofeng','info:birthday','1987-4-17'
put'member','xiaofeng','info:favorite','movie'
put'member','xiaofeng','info:company','alibaba'
put'member','xiaofeng','address:contry','china'
put'member','xiaofeng','address:province','guangdong'
put'member','xiaofeng','address:city','jieyang'
put'member','xiaofeng','address:town','xianqiao'
2. 获取一条数据:获取一个id的所有数据
hbase(main):002:0> get 'member','scutshuxue'
COLUMN CELL
address:city timestamp=1492679285200, value=hangzhou
address:contry timestamp=1492679285159, value=china
address:province timestamp=1492679285179, value=zhejiang
info:age timestamp=1492679285087, value=24
info:birthday timestamp=1492679285115, value=1987-06-17
info:company timestamp=1492679285137, value=alibaba
6 row(s) in 0.0360 seconds
3. 获取一个id,一个列族的所有数据
hbase(main):003:0> get 'member','scutshuxue','info'
COLUMN CELL
info:age timestamp=1492679285087, value=24
info:birthday timestamp=1492679285115, value=1987-06-17
info:company timestamp=1492679285137, value=alibaba
3 row(s) in 0.0290 seconds
4. 获取一个id,一个列族中一个列的所有数据
hbase(main):004:0> get 'member','scutshuxue','info:age'
COLUMN CELL
info:age timestamp=1492679285087, value=24
1 row(s) in 0.0140 seconds
5. 更新一条记录:将scutshuxue的年龄改成99
hbase(main):005:0> put 'member','scutshuxue','info:age','99'
0 row(s) in 0.0820 seconds
hbase(main):006:0> get 'member','scutshuxue','info:age'
COLUMN CELL
info:age timestamp=1492680082372, value=99
1 row(s) in 0.0130 seconds
6. 通过timestamp来获取两个版本的数据
hbase(main):008:0> get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586238965}
COLUMN CELL
0 row(s) in 0.0090 seconds
get 'member','scutshuxue',{COLUMN=>'info:age',TIMESTAMP=>1321586571843}
全表扫描:
hbase(main):001:0> scan 'member'
ROW COLUMN+CELL
scutshuxue column=address:city, timestamp=1492679285200, value=hangzhou
scutshuxue column=address:contry, timestamp=1492679285159, value=china
scutshuxue column=address:province, timestamp=1492679285179, value=zhejiang
scutshuxue column=info:age, timestamp=1492680082372, value=99
scutshuxue column=info:birthday, timestamp=1492679285115, value=1987-06-17
scutshuxue column=info:company, timestamp=1492679285137, value=alibaba
xiaofeng column=address:city, timestamp=1492679441516, value=jieyang
xiaofeng column=address:contry, timestamp=1492679441440, value=china
xiaofeng column=address:province, timestamp=1492679441475, value=guangdong
xiaofeng column=address:town, timestamp=1492679441589, value=xianqiao
xiaofeng column=info:birthday, timestamp=1492679285229, value=1987-4-17
xiaofeng column=info:company, timestamp=1492679441376, value=alibaba
xiaofeng column=info:favorite, timestamp=1492679285249, value=movie
2 row(s) in 0.3240 seconds
7. 删除id为scutshuxue 的值的‘info:age’字段(delete)
hbase(main):002:0> delete 'member','scutshuxue','info:age'
0 row(s) in 0.0060 seconds
hbase(main):003:0> get 'member','scutshuxue'
COLUMN CELL
address:city timestamp=1492679285200, value=hangzhou
address:contry timestamp=1492679285159, value=china
address:province timestamp=1492679285179, value=zhejiang
info:company timestamp=1492679285137, value=alibaba
4 row(s) in 0.0300 seconds
删除整行(deleteall)
hbase(main):001:0>deleteall 'member','xiaofeng'
0 row(s) in 0.3990seconds
8. 查询表中有多少行(count):
hbase(main):009:0> count 'member'
1 row(s) in 0.0130 seconds
=> 1
9. 给‘xiaofeng’这个id增加'info:age'字段,并使用counter实现递增
hbase(main):009:0> incr 'member','xiaofeng','info:age'
COUNTER VALUE = 1
0 row(s) in 0.1230 seconds
hbase(main):010:0> get 'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1492682041028, value=\x00\x00\x00\x00\x00\x00\x00\x01
1 row(s) in 0.1050 seconds
hbase(main):011:0> incr 'member','xiaofeng','info:age'
COUNTER VALUE = 2
0 row(s) in 0.0140 seconds
hbase(main):012:0> get 'member','xiaofeng','info:age'
COLUMN CELL
info:age timestamp=1492682332791, value=\x00\x00\x00\x00\x00\x00\x00\x02
1 row(s) in 0.0130 seconds
10. 获取当前count的值
hbase(main):069:0>get_counter 'member','xiaofeng','info:age'
COUNTER VALUE = 2
11. 将整张表清空(truncate):
hbase(main):019:0> truncate 'member'
Truncating 'member' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 7.0780 seconds
hbase(main):020:0> scan 'member'
ROW COLUMN+CELL
0 row(s) in 0.3260 seconds
可以看出,hbase是先将disable掉,然后drop掉后重建表来实现truncate的功能的。