Hbase常用Shell命令

时间:2023-03-09 19:44:16
Hbase常用Shell命令

status 查看系统状态

hbase(main):010:0> status
1 active master, 0 backup masters, 4 servers, 0 dead, 6.5000 average load

version 查看版本号

hbase(main):011:0> version
1.2.0-cdh5.7.2, rUnknown, Fri Jul 22 12:20:40 PDT 2016

table_help 查看提示信息

hbase(main):012:0> table_help
Help for table-reference commands. You can either create a table via 'create' and then manipulate the table via commands like 'put', 'get', etc.
See the standard help information for how to use each of these commands. However, as of 0.96, you can also get a reference to a table, on which you can invoke commands.
For instance, you can get create a table and keep around a reference to it via: hbase> t = create 't', 'cf' Or, if you have already created the table, you can get a reference to it: hbase> t = get_table 't' You can do things like call 'put' on the table: hbase> t.put 'r', 'cf:q', 'v' which puts a row 'r' with column family 'cf', qualifier 'q' and value 'v' into table t. To read the data out, you can scan the table: hbase> t.scan which will read all the rows in table 't'. Essentially, any command that takes a table name can also be done via table reference.
Other commands include things like: get, delete, deleteall,
get_all_columns, get_counter, count, incr. These functions, along with
the standard JRuby object methods are also available via tab completion. For more information on how to use each of these commands, you can also just type: hbase> t.help 'scan' which will output more information on how to use that command. You can also do general admin actions directly on a table; things like enable, disable,
flush and drop just by typing: hbase> t.enable
hbase> t.flush
hbase> t.disable
hbase> t.drop Note that after dropping a table, your reference to it becomes useless and further usage
is undefined (and not recommended).

表的管理

create 创建表

hbase(main):014:0> create 'xt','xcf'
0 row(s) in 2.5340 seconds => Hbase::Table - xt
hbase(main):015:0>

list 查看表

hbase(main):015:0> list
TABLE
...
xt
17 row(s) in 0.0200 seconds => [..."xt"]
hbase(main):016:0>

describe 表的描述

hbase(main):017:0> describe 'xt'
Table xt is ENABLED
xt
COLUMN FAMILIES DESCRIPTION
{NAME => 'xcf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE',
TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.0500 seconds

disable 表的禁用

hbase(main):038:0> disable 'xt'
0 row(s) in 8.7530 seconds

drop 表的删除

hbase(main):039:0> drop 'xt'
0 row(s) in 2.3130 seconds

exsits 判断是否存在

hbase(main):040:0> exists 'xt'
Table xt does not exist
0 row(s) in 0.0110 seconds

数据操作

put 增加和修改数据

向指定的列族中插入数据

hbase(main):019:0> put 'xt','1','xcf:col_name1','col_value1'
0 row(s) in 0.0080 seconds hbase(main):020:0> put 'xt','1','xcf:col_name2','col_value2'
0 row(s) in 0.0050 seconds

get 查询数据

hbase(main):021:0> get 'xt','1'
COLUMN CELL
xcf:col_name1 timestamp=1496997489039, value=col_value1
xcf:col_name2 timestamp=1496997502916, value=col_value2
2 row(s) in 0.0110 seconds hbase(main):022:0> get 'xt','1',{COLUMN => 'xcf:col_name1'}
COLUMN CELL
xcf:col_name1 timestamp=1496997489039, value=col_value1
1 row(s) in 0.0520 seconds hbase(main):023:0>

delete 删除数据

hbase(main):023:0> delete 'xt','1','xcf:col_name1'
0 row(s) in 0.0280 seconds hbase(main):024:0> get 'xt','1'
COLUMN CELL
xcf:col_name2 timestamp=1496997502916, value=col_value2
1 row(s) in 0.0030 seconds hbase(main):026:0> deleteall 'xt','1'
0 row(s) in 0.0030 seconds hbase(main):028:0> get 'xt','1'
COLUMN CELL
0 row(s) in 0.0070 seconds

scan 扫描全部数据

hbase(main):029:0> put 'xt','1','xcf:col1','123'
0 row(s) in 0.0230 seconds hbase(main):030:0> put 'xt','2','xcf:col1','123'
0 row(s) in 0.0040 seconds hbase(main):031:0> put 'xt','3','xcf:col1','123'
0 row(s) in 0.0040 seconds hbase(main):032:0> put 'xt','4','xcf:col1','123'
0 row(s) in 0.0040 seconds hbase(main):033:0> scan 'xt'
ROW COLUMN+CELL
1 column=xcf:col1, timestamp=1496998219258, value=123
2 column=xcf:col1, timestamp=1496998223993, value=123
3 column=xcf:col1, timestamp=1496998227824, value=123
4 column=xcf:col1, timestamp=1496998230678, value=123
4 row(s) in 0.0140 seconds

count 统计表个数

hbase(main):034:0> count 'xt'
4 row(s) in 0.0170 seconds => 4

truncate 清空表数据

hbase(main):035:0> truncate 'xt'
Truncating 'xt' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 104.8850 seconds hbase(main):036:0> count 'xt'
0 row(s) in 23.6480 seconds => 0
hbase(main):037:0>