HBase Shell

 

下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:filter

名称

命令表达式

创建表

create \’表名称\’, \’列名称1\’,\’列名称2\’,\’列名称N\’

添加记录      

put \’表名称\’, \’行名称\’, \’列名称:\’, \’\’

查看记录

get \’表名称\’, \’行名称\’

查看表中的记录总数

count  \’表名称\’

删除记录

delete  \’表名\’ ,\’行名称\’ , \’列名称\’

删除一张表

先要屏蔽该表,才能对该表进行删除,第一步 disable \’表名称\’ 第二步 drop \’表名称\’

查看所有记录

scan “表名称”  

查看某个表某个列中所有数据

scan “表名称” , [\’列名称:\’]

更新记录

就是重写一遍进行覆盖

 

一、一般操作

1.查询服务器状态

 

 

2.查询hbase版本

 

二、DDL操作

1.创建一个表(包含三个列族)

create \’member\’,\’member_id\’,\’address\’,\’info\’ 

 

 

 

2.获得表的描述

list

describe \’member

 

 

3.删除一个列族,alterdisableenable

我们之前建了3个列族,但是发现member_id这个列族是多余的,因为他就是主键,所以我们要将其删除。(关键字大小写敏感)

disable \’member\’

alter\’member\’,NAME=>\’member_id\’,METHOD=>\’delete\’

describe \’member\’

该列族已经删除,我们继续将表enable

enable \’member\’  

4.drop一个表

disable \’temp_table\’

drop \’temp_table\’

6.查询表是否存在

exists \’member\’

7.判断表是否enable

is_enabled \’member\’

8.判断表是否disable

is_disabled \’member\’

三、DML操作

1.插入几条记录

put \’member\’,\’xiaoming\’,\’info:age\’,\’24\’

put \’member\’,\’xiaoming\’,\’info:birthday\’,\’1987-06-17\’

put \’member\’,\’xiaoming\’,\’info:company\’,\’alibaba\’

put \’member\’,\’xiaoming\’,\’address:contry\’,\’china\’

put \’member\’,\’xiaoming\’,\’address:province\’,\’zhejiang\’

put \’member\’,\’xiaoming\’,\’address:city\’,\’hangzhou\’

 

put \’member\’,\’xiaofeng\’,\’info:birthday\’,\’1987-4-17\’

put \’member\’,\’xiaofeng\’,\’info:favorite\’,\’movie\’ 

put \’member\’,\’xiaofeng\’,\’info:company\’,\’alibaba\’

put \’member\’,\’xiaofeng\’,\’address:contry\’,\’china\’

put \’member\’,\’xiaofeng\’,\’address:province\’,\’guangdong\’

put \’member\’,\’xiaofeng\’,\’address:city\’,\’jieyang\’

put \’member\’,\’xiaofeng\’,\’address:town\’,\’xianqiao\’

 

 

2.获取一条数据

获取一个id的所有数据

get \’member\’,\’xiaofeng\’

 

 

获取一个id,一个列族的所有数据

get \’member\’, \’xiaoming\’,\’info\’

 

 

获取一个id,一个列族中一个列的所有数据

get \’member\’,\’xiaoming\’,\’info:age\’ 

3.更新一条记录

xiaoming的年龄改成99

put \’member\’,\’xiaoming\’,\’info:age\’ ,\’99\’

 

 

get \’member\’,\’xiaoming\’,\’info:age\’ 

 

 

4.通过timestamp来获取两个版本的数据

get \’member\’,\’xiaoming\’,{COLUMN=>\’info:age\’,TIMESTAMP=>1321586238965}

 

 

get \’member\’,\’xiaoming\’,{COLUMN=>\’info:age\’,TIMESTAMP=>1321586571843}

 

 

 

得到多行 多列数据

scan ‘test′, {COLUMNS => [\’cf:a\’, \’cf2\’] }

 

指定最新几个版

scan \’t3\’, { COLUMNS => [\’f1:a\’, \’f2:a\’],VERSIONS=>5}

create \’表名\’,{NAME=\’列族名1\’,VERSIONS=给定一个版本号},{NAME=\’列族名2\’,VERSIONS=给定的版本号}

 

5.删除idxiaoming的值的‘info:age’字段

delete \’member\’,\’xiaoming\’,\’info:age\’

6.删除整行

deleteall \’member\’,\’xiaofeng\’

7.查询表中有多少行:

count \’member\’                                        

8.xiaofeng这个id增加\’info:age\’字段

incr \’member\’,\’xiaofeng\’,\’info:age\’                    

get \’member\’,\’xiaofeng\’,\’info:age\’ 

9.将整张表清空:

truncate \’member\’

 

 

可以看出,hbase是先将掉disable掉,然后drop掉后重建表来实现清空的功能的。

 

得到所有info:birthday中的数据

 

scan \’member\’ , {COLUMNS => \’info:birthday\’}

 

 

 

 

版权声明:本文为JBLi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JBLi/p/10874906.html