主页 > 其他  > 

HBaseShell

HBaseShell

目录 1. HBase常用命令1.1 create命令1.2 list命令1.3 describe命令1.4 put命令1.5 get命令1.6 scan命令1.7 count命令1.8 exists命令1.9 修改表结构1.10 delete命令1.11 deleteall命令1.12 truncate命令1.13 disable、drop命令1.14 status命令1.15 version命令 2. HBase Shell综合示例2.1 创建表并插入数据2.2 基本操作实践 3. HBase Shell全部命令参考

1. HBase常用命令

  HBase为用户提供了一个非常方便的使用方式,称之为HBase Shell。HBase Shell提供了大多数的HBase命令,通过HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据、列出表中的相关信息。   HBase Shell的常用命令如下表所示。

名称命令表达式创建表create '表名称', '列族名称1', '列族名称2', '列族名称3'添加记录put '表名称', '行键', '列名称:', '值'查看记录get '表名称', '行键'查看表中的记录总数count '表名称'删除记录delete '表名', '行键', '列名称'删除一张表先要屏蔽该表,才能对该表进行删除,第一步disable '表名称',第二步drop '表名称'查看所有记录``scan ‘表名称’查看某个表某个列中的所有数据scan '表名称', {COLUMNS=>'列族名称:列名称'}更新记录重写一遍进行覆盖 1.1 create命令

  功能:创建表。   create命令:create '表名称', '列族名称1‘, '列族名称2', '列族名称3',其中表名、列名都要用单引号括起来,并以逗号分割。

1.2 list命令

  功能:查看当前HBase有哪些表。

1.3 describe命令

  功能:查看指定表的构造。   describe命令:describe '表名'。describe可简写为desc。

1.4 put命令

  功能:向表中插入数据。   put命令:put '表名', '行键', '列族:列名', '值'。

1.5 get命令

  功能:查看指定表中指定行键或指定列的相关数据。   命令:get '表名', '行键'或get '表名', '行键', '列族:列名'。

1.6 scan命令

  功能:查看指定表或指定列的所有数据。   命令:scan ‘表名’或scan '表名', {COLUMN => '列族:列名'}或scan '表名', {COLUMNS=>'列族'}。

1.7 count命令

  功能:统计记录条数。   命令:count '表名'。

1.8 exists命令

  功能:判断表是否存在。   命令:exists '表名'。

1.9 修改表结构

  先要disable '表名',再对表进行修改,最后要enable '表名'。   下面的命令可以将HBase的scores表course列族改为保存3份历史副本。

1.10 delete命令

  功能:删除指定表中指定列的数据。   命令:delete '表名', '行键', '列族:列名'。

1.11 deleteall命令

  功能:删除指定行键的记录。   命令:deleteall '表名', '行键'。

1.12 truncate命令

  功能:清空表中数据,但保留表结构。   命令:truncate '表名'。

1.13 disable、drop命令

  功能:先禁用表,然后删除表。   命令:disable '表名'和drop '表名'。

1.14 status命令

  功能:查看HBase运行状态。   命令:status。

1.15 version命令

  功能:查看HBase的版本信息。   命令:version。

2. HBase Shell综合示例 2.1 创建表并插入数据 create 'users', 'user_id', 'address', 'info' put 'users', 'xiaoming', 'info:age', '24' put 'users', 'xiaoming', 'info:birthday', '1987-06-17' put 'users', 'xiaoming', 'info:company', 'alibaba' put 'users', 'xiaoming', 'address:country', 'China' put 'users', 'xiaoming', 'address:province', 'zhejiang' put 'users', 'xiaoming', 'address:city', 'hangzhou' put 'users', 'zhangyifei', 'info:birthday', '1987-4-17' put 'users', 'zhangyifei', 'info:favorite', 'movie' put 'users', 'zhangyifei', 'info:company', 'alibaba' put 'users', 'zhangyifei', 'address:country', 'China' put 'users', 'zhangyifei', 'address:province', 'guangdong' put 'users', 'zhangyifei', 'address:city', 'jieyang' put 'users', 'zhangyifei', 'address:town', 'xianqiao'

2.2 基本操作实践

  获取一个行键对应的记录:get 'users', 'xiaoming'。   获取一个列族对应的记录:get 'users', 'xiaoming', 'info'。   获取一个列名对应的记录:get 'users', 'xiaoming', 'info:age'。   在HBase中,数据的插入和更新统一使用put命令。当使用put命令向一个表中的某个列插入数据时,如果该数据原来不存在,则执行插入操作;如果原始数据存在,则执行更新操作。HBase执行更新操作时并不会将原有的数据删除替换,而是直接以一个新的版本号额外将新的数据插入到单元格中,这就意义着HBase允许通过查询将某一个单元格中曾经存在过的所有历史版本数据同一查询出来。

alter 'user', {NAME=>'info', VERSIONS=>3} put 'users', 'xiaoming', 'info:age', '29' get 'users', 'xiaoming', 'info:age' put 'users', 'xiaoming', 'info:age', '30' get 'users', 'xiaoming', 'info:age'

  从下图中可以两次get命令查看的info:age都是当前最新的数据。   获取单元格中不同版本的数据:get 'users', 'xiaoming', {COLUMN=>'info:age', VERSIONS=>3}。   删除一个行键对应记录中列名的数据:delete 'users', 'xiaoming', 'info:age'。   从下图中可以删除xiaoming对应记录中info:age=30的数据。   删除一个行键对应的记录:deleteall 'users', 'xiaoming'。   统计行数:count 'users'。   清空表:truncate 'users'。

3. HBase Shell全部命令

参考

吴章勇 杨强著 大数据Hadoop3.X分布式处理实战

标签:

HBaseShell由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“HBaseShell