hbase常用命令及操作

进入HBase客户端命令操作界面

$ bin/hbase shell

显示服务器状态

查看当前服务器状态
hbase> status

查看指定服务器状态
hbase> status ‘主机名’
在这里插入图片描述

显示HBase 当前用户

whoami
在这里插入图片描述

查看帮助命令

hbase(main):001:0> help

命名空间

列出所有命名空间

hbase> list_namespace
在这里插入图片描述

新建命名空间

hbase> create_namespace ‘ns1’
在这里插入图片描述
在这里插入图片描述

删除命名空间

hbase> drop_namespace ‘ns1’
在这里插入图片描述

该命名空间必须为空,否则会报错。

修改命名空间

hbase> alter_namespace ‘ns2’, {METHOD => ‘set’, ‘PROPERTY_NAME’ => ‘PROPERTY_VALUE’}
在这里插入图片描述

查看当前数据库中有哪些表

hbase(main):002:0> list

查看表是否存在

hbase(main):023:0> exists 表名

hbase(main):023:0> exists “student”
在这里插入图片描述

创建一张表

hbase(main):003:0> create ‘student’,‘info’

创建多个列族

hbase> create ‘t1’, {NAME => ‘f1’}, {NAME => ‘f2’}, {NAME => ‘f3’}
在这里插入图片描述

禁用一张表

disable ‘表名’
在这里插入图片描述

启用一张表

enable ‘表名’
在这里插入图片描述

查看表是否可用、是否不可用
is_enabled ‘表名’
is_disabled ‘表名’
在这里插入图片描述

alter

该命令可以改变表和列族的模式,例如:
为当前表增加列族:
hbase> alter ‘hbase_book’, NAME => ‘CF2’, VERSIONS => 2
在这里插入图片描述

为当前表删除列族:
hbase> alter ‘hbase_book’, ‘delete’ => ‘CF2’
在这里插入图片描述

向表中存储一些数据

hbase(main):004:0> put ‘student’,‘1001’,‘info:name’,‘Thomas’
hbase(main):005:0> put ‘student’,‘1001’,‘info:sex’,‘male’
hbase(main):006:0> put ‘student’,‘1001’,‘info:age’,‘18’

扫描查看存储的数据

hbase(main):007:0> scan ‘student’在这里插入图片描述

或:查看某个rowkey范围内的数据
hbase(main):014:0> scan ‘student’,{STARTROW => ‘1001’,STOPROW => ‘1007’}
在这里插入图片描述

查看表结构

hbase(main):009:0> describe ‘student’
在这里插入图片描述

更新指定字段的数据

hbase(main):009:0> put ‘student’,‘1001’,‘info:name’,‘Nick’
hbase(main):010:0> put ‘student’,‘1001’,‘info:age’,‘100’

查看更新后的数据:
在这里插入图片描述

查看指定行的数据

hbase(main):012:0> get ‘student’,‘1001’
在这里插入图片描述

或:查看指定行指定列或列族的数据
hbase(main):013:0> get ‘student’,‘1001’,‘info:name’
在这里插入图片描述

统计一张表有多少行数据

hbase(main):020:0> count ‘student’
在这里插入图片描述

删除数据
删除掉某个rowKey中某一列的数据
       hbase(main):016:0> delete 'student','1001','info:sex'

在这里插入图片描述

删除某一个rowKey全部的数据
        hbase(main):015:0> deleteall 'student','1001'

在这里插入图片描述

清空表数据

hbase(main):017:0> truncate ‘student’
在这里插入图片描述

修改表名

HBase没有rename命令,可以通过快照功能修改表名,详见下述。

删除表

首先需要先让该表为disable状态,使用命令:
hbase(main):018:0> disable ‘student’
在这里插入图片描述

然后才能drop这个表,使用命令:
hbase(main):019:0> drop ‘student’

(尖叫提示:如果直接drop表,会报错:Drop the named table. Table must first be disabled)
在这里插入图片描述

快照

查看快照

hbase> list_snapshots ‘ns1’
在这里插入图片描述

新建快照

hbase> snapshot ‘sourceTable’, ‘snapshotName’
在这里插入图片描述在这里插入图片描述

从快照复制生成一个新表:

hbase> clone_snapshot ‘snapshotName’, ‘gld:student’
在这里插入图片描述

分区

预分区

在建表时预分10个区:
create’customer’,‘info’,{SPLITS=>[‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’]}
在这里插入图片描述

则每个分区的Start Key和End Key分别为:(~, 1),[1, 2),[2, 3),[3, 4),[4, 5),[5, 6),[6, 7),[7, 8),[8, 9),[9, ~)
查看HDFS是可以看到这个表下有10个文件夹(如果没有预分区,则只有一个文件夹):
在这里插入图片描述

手动分区

一开始没有分区:
在这里插入图片描述

使用切分键’1’一分为二:
hbase>split ‘tableName’,‘splitKey’

hbase>split ‘gld:student’,‘1’
在这里插入图片描述

继续将第二个Region进行切分,以’2’作为切分键:

hbase>split ‘gld:student,1,1538223641947’,‘2’
在这里插入图片描述

合并分区

hbase>merge_region ‘ENCODED_REGIONNAME’,‘ENCODED_REGIONNAME’

hbase(main):125:0> merge_region ‘e306f74bf37ea659cb1945514698eeaa’ ,‘fbd781060852359d2d52a18b728eac77’
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值