最全hbase shell命令

721 阅读2分钟

最全hbase shell命令

HBase shell常用命令

查询服务器状态

hbase(main):002:0> status1 active master, 1 backup masters, 4 servers, 0 dead, 33.0000 average load

查看HBase版本信息

hbase(main):006:0* version1.2.5, rd7b05f79dee10e0ada614765bb354b93d615a157, Wed Mar  1 00:34:48 CST 2017

可以通过 help '命名名称' 来查看命令行的具体使用,包括命令的作用和用法

hbase(main):009:0> help  'create'

显示当前登录用户信息:

hbase(main):111:0* whoami

列出所有表 list

列出所有命名空间list_namespace

列出某个命名空间下所有表 list_namespace_tables 'namespace名称'

hbase(main):013:0* list
hbase(main):014:0> list_namespace_tables 'ljs'

新建一张表,包含两个列族info1,info2

hbase(main):007:0> create 'testTable1','info1','info2'

查看表结构信息

hbase(main):015:0> desc 'testTable1'

启用表

hbase(main):017:0> enable 'testTable1'

禁用表

hbase(main):016:0> disable 'testTable1'

修改表,删除列族

alter 'mtestTable1mber', {NAME => 'info3', METHOD => 'delete'}

修改表,添加列族

hbase(main):065:0>  alter 'testTable1', NAME => 'info2', VERSIONS => 5hbase(main):065:0>   alter 'testTable1', {NAME => 'info3', VERSIONS => 5}

删除表分两步,先disable 后drop:

hbase(main):068:0> disable 'testTable1'hbase(main):069:0> drop 'testTable1'

DML操作

插入表数据:

hbase(main):068:0>  put 'testTable1','row001','info1:col1','value01'

获取表数据:

hbase(main):079:0> get 'testTable1','row002'

全局扫描表数据(大表少用):

hbase(main):079:0> scan 'testTable1'

scan一个表的多个列:

scan 'testTable1', {COLUMNS => [ 'info1:col1', 'info1:col2']}

统计表数据量(加快统计,指定步幅为10000):

hbase(main):080:0> count 'testTable1',{INTERVAL=>10000}

获取多个版本数据:

hbase(main):092:0> get 'testTable1','row002',{COLUMN=>'info1:col2',VERSIONS=>3}

获取指定时间戳的版本数据:

hbase(main):099:0> get 'testTable1','row002',{COLUMN=>'info1:col2',TIMESTAMP=>1580785339056

删除表某一行一列:

hbase(main):042:0>delete 'testTable1','row001','info1:col1'

删除表某一个行的所有列:

hbase(main) :044:0>deleteall 'testTable1','row001'

清空表数据:

hbase(main) :044:0>trunacte'testTable1'

获取rowkey所在的region

locate_region 'testTable1', 'row001'