HBase基本命令

举报
Page 发表于 2019/01/04 14:50:02 2019/01/04
【摘要】 基于MapReduce服务的集群基本讲解HBase命令。

华为云MapReduce服务中包括了Hapoop、HBase、Spark、Kafka等等大数据组件。这里是基于华为云MapReduce服务集群讲解HBase的基本命令。

1.进入HBase shell命令行

注意:如果集群是安全集群(就是创建集群的时候开启Kerberos认证),在HBase shell之前,需要通过kinit username 进行认证。

# hbase shell

2.基本命令实例

在输入HBase操作命令时不同于SQL语句,命令最后没有分号。

2.1 查看HBase版本、用户和状态

查看版本 

    hbase(main):005:0> version

查看用户

    hbase(main):001:0> whoami

查看HBase状态信息

    hbase(main):002:0> status

2.2 查看命名空间(namespace)

默认情况下,HBase里面包括hbase和default两个命名空间。在下面的表操作中,如果没有指定命名空间,默认就是default命名空间。

hbase(main):011:0> list_namespace

2.3 创建和删除命名空间(namespace)

创建命名空间    

    hbase(main):012:0> create_namespace 'jun'

查看命名空间

    hbase(main):013:0> list_namespace

删除命名空间

    hbase(main):014:0> drop_namespace 'jun'

2.4 查看表

上面讲解了命名空间(namespace),默认情况下default命名空间是默认的命名空间。

Examples:

    list            查看下的所有表  

    list 'abc.*'    查看表名以abc开头的表

    list 'ns:abc.*' 查看命名空间ns下表名以abc开头的表

    list 'ns:.*'    查看命名空间ns下所有表

可以通过 help 'list'查看list命令详解



实例

    hbase(main):001:0> list

2.5 创建表

输入创建表命令时,需要输入表名和至少一个列簇名(column family)。创建表时如果指定了命名空间,该命名空间必须存在,否则会报错。

Examples:    

    create 'ns1:t1', 'f1'   创建命名空间为ns1、表名为t1、列簇为f1的表   

    create 't1', 'f1','f2','f3'  创建表名为t1、列簇为f1/f2/f3三个列簇的表



实例

    hbase(main):028:0> create 'test','f1','f2','f3'

2.3 查看表结构

通过desc命令查看表的详细结构

hbase(main):030:0> desc 'test'

2.4 删除表

在删除表之前,必须要先用disable命令。

hbase(main):007:0> disable 'test'

hbase(main):008:0> drop 'test'

2.5 修改表结构

创建表test01

    hbase(main):042:0> create 'test01','f1', 'f2', 'f3'

添加列簇

    hbase(main):048:0> alter 'test01','f4','f5'

删除列簇    

    hbase(main):053:0> alter 'test01', 'delete' => 'f5'



详细的alter命令使用可以通过帮助命令查看

    hbase(main):056:0> help 'alter'

2.6 添加数据

hbase(main):064:0> put 'test01', 'name02', 'f2:age', '20'

下面详细介绍一下该命令:

test01  ==>>   表名

name02  ==>>   rowkey(唯一标识符)这个自己定义

f2      ==>>   列簇(可以当作与多列的集合)

age     ==>>   列簇下面的一个列,自己定义

20      ==>>   值,表示age属性的值

2.7 查询数据

查询属性记录值:

    hbase(main):076:0> get 'test01','name02','f2:age'

查看整个表数据:

    hbase(main):073:0> scan 'test01'

    hbase(main):077:0> scan 'test01', LIMIT => 2

统计表中行数:

    hbase(main):078:0> count 'test01'

2.8 删除数据

删除行中某个列值

    delete 'test01','name02','f2:age'

删除一行

    hbase(main):085:0> deleteall 'test01','name02'

特别提醒:HBase中不懂的命令可以利用help命令进行查看

详细内容参考:

1.HBase官方文档:https://hbase.apache.org/book.html
2.华为云MapReduce服务开发指南HBase应用开发

大数据相关内容可加QQ群 940014001 进群进行详细咨询与了解。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。