HBase 常用的Shell命令
进入shell命令行
hbase shell
基础命令
| 命令 | 解释 |
| status | 查看集群状态 |
| version | 查看当前版本 |
| whoami | 查看当前用户 |
命令演示



ddl命令
| 命令 | 解释 |
| create | 创建表 |
| list | 列出所有表 |
| disable / is_disabled | 禁用表/验证表是否被禁用 |
| enable / is_enabled | 启用表/验证表是否已启用 |
| desc | 查看表的详细信息 |
| alter | 修改表结构 |
| exists | 验证表是否存在 |
| drop / truncate | 删除表 / 清空表(删除重建) |
代码演示
create 创建了一张名为student的表,表中有两个列表,分别是info和level。create后面第一个参数是表名,后面的都是列族的名称。注意:创建表时不指定列,只能指定列族。

list 列出所有的表

disable 禁用表
![]()
is_disable 验证表是否被禁用

enable 启用表
![]()
is_enabled 验证表是否已启用

desc 查看表的详细信息

alter 修改表结构
修改列族的版本信息,通过desc命令可以看到student表中列族的版本个数

增加一个列族

删除列族

exists 验证表是否存在

drop 删除表(需要先禁用表)

truncate 清空表 (删除 + 重建)

注意:在清空表的时候,会自动先禁用表。
增删改查命令
| 命令 | 解释 |
| put | 添加数据/修改数据 |
| get | 查看数据 |
| count | 查看表中数据总条数 |
| scan | 扫描表中的数据 |
| delete / deleteall | 删除数据 |
命令演示
put 添加数据/修改数据
HBase中没有insert方法,它也属于key-value类型的NoSQL数据库,类似于HashMap这种数据结构,所以它提供了put方法添加数据
命令:put ‘表名’,‘Rowkey’,‘列族:列’,’value’

HBase中没有修改方法,所以重复执行put就是修改操作了。
所以put操作在执行的时候,如果指定的数据已经存在,则更新,否则就新增。
get 查看数据
在查看数据的时候有这么几种用法
命令:get ‘表名’,’Rowkey’
命令:get ‘表名’,‘Rowkey’,’列族’
命令:get ‘表名’,‘Rowkey’,‘列族:列’
查询student中rowkey等于jack的所有列族中的数据

查询student中rowkey等于jack的info列族中的数据

查询student中rowkey等于jack的info列族中的age列的数据

count 查看表中数据总条数

scan 扫描表中的数据

delete 删除数据
delete有这么几种用法:
命令:delete ‘表名’,‘Rowkey’,’列族:列’
命令:delete ‘表名’,‘Rowkey’,‘列族:列’,时间戳
注意:delete 操作并不会马上删除数据,只会将对应的数据打上删除标记,只有在HBase底层合并数据时,数据才会被真正删除。
删除指定Rowkey中指定列族中指定列的数据
![]()
删除指定Rowkey中指定列族中指定列中时间戳小于2的数据
![]()
注意:delete 命令不能跨列族操作,如果需要删除表中的某一行数据,则需要使用 deleteall 命令,此时不需要指定列族和列的名称

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/dbfae3c7d8.html
