建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

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

确定
我再想想
选择版块

仰望星空

发帖: 5粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-1-7 09:42:12 914 1 楼主 显示全部楼层
[技术交流] MRS中使用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 进群进行详细咨询与了解。


回复 举报
分享

分享文章到朋友圈

分享文章到微博

技术火炬手

发帖: 31粉丝: 1

级别 : 版主

Rank: 7Rank: 7Rank: 7

发消息 + 关注

发表于2019-1-9 09:33:16 沙发 显示全部楼层

点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册