前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hbase常用Shell命令

Hbase常用Shell命令

作者头像
用户1154259
发布2018-01-17 11:36:20
1.3K0
发布2018-01-17 11:36:20
举报
status 查看系统状态
代码语言:javascript
复制
hbase(main):010:0> status
1 active master, 0 backup masters, 4 servers, 0 dead, 6.5000 average load
version 查看版本号
代码语言:javascript
复制
hbase(main):011:0> version
1.2.0-cdh5.7.2, rUnknown, Fri Jul 22 12:20:40 PDT 2016
table_help 查看提示信息
代码语言:javascript
复制
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 创建表
代码语言:javascript
复制
hbase(main):014:0> create 'xt','xcf'
0 row(s) in 2.5340 seconds

=> Hbase::Table - xt
hbase(main):015:0>
list 查看表
代码语言:javascript
复制
hbase(main):015:0> list
TABLE
...
xt
17 row(s) in 0.0200 seconds

=> [..."xt"]
hbase(main):016:0>
describe 表的描述
代码语言:javascript
复制
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 表的禁用
代码语言:javascript
复制
hbase(main):038:0> disable 'xt'
0 row(s) in 8.7530 seconds
drop 表的删除
代码语言:javascript
复制
hbase(main):039:0> drop 'xt'
0 row(s) in 2.3130 seconds
exsits 判断是否存在
代码语言:javascript
复制
hbase(main):040:0> exists 'xt'
Table xt does not exist
0 row(s) in 0.0110 seconds

数据操作

put 增加和修改数据

向指定的列族中插入数据

代码语言:javascript
复制
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 查询数据
代码语言:javascript
复制
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 删除数据
代码语言:javascript
复制
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 扫描全部数据
代码语言:javascript
复制
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 统计表个数
代码语言:javascript
复制
hbase(main):034:0> count 'xt'
4 row(s) in 0.0170 seconds

=> 4
truncate 清空表数据
代码语言:javascript
复制
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>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • status 查看系统状态
  • version 查看版本号
  • table_help 查看提示信息
  • 表的管理
    • create 创建表
      • list 查看表
        • describe 表的描述
          • disable 表的禁用
            • drop 表的删除
              • exsits 判断是否存在
              • 数据操作
                • put 增加和修改数据
                  • get 查询数据
                    • delete 删除数据
                      • scan 扫描全部数据
                        • count 统计表个数
                          • truncate 清空表数据
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档