Hbase Shell 常见命令的使用

一、建表:create

在创建表时,行建不用也不能预先定义,而对表数据进行操作时必须指定行建,即行建在添加数据时首次被确定,并且“时间戳”列也由HBase自动生成,所以只需指定列族即可
create 命令的语法格式:
create ‘表名称’,‘列名称1’,‘列名称2’,…
其中表名和列名必须用单引号括起来并用逗号隔开。
【示例】
创建一个表,表名为score,列族为grade和course。

create 'score','grade','course'

在创建表时,除了列族名称,列族的参数均为可选项,上面创建表的语句为简化方式,完整的写法如下:

create 'score',{NAME=>'grade',VERSIONS=>5},{NAME=>'course',VERSIONS=>5}

此命令指定了列族名称及可保存的单元时间版本最大量。指定列族参数的格式为:参数名 => 参数值,注意赋值符号为“ =>”且参数名必须大写。如果指定多个参数,应以逗号分开,最后所有参数以“{}”括起来表示一个列族。

二、查看所有表

使用 list 命令可以查看当前 HBase 数据库中的所有表,具体操作如下:

list

在这里插入图片描述
可以看到当前数据库中已经存在“score”表。如果要查看该表的所以列族的详细描述信息可以使用 describe 指令

describe score

三、添加数据:put

向 score 中添加一些数据,使用 put 命令可向表中插入数据,语法格式如下。
put ‘表名称’,‘行键’,‘列键’,‘值’
【示例】
批量向score表中插入数据

put 'score','tom','grade:','1'
put 'score','tom','course:art','80'
put 'score','tom','course:math','89'
put 'score','json','grade:','2'
put 'score','tom','course:art','87'
put 'score','tom','course:math','90'

四、扫描表

scan 用于全表单元扫描。语法格式如下:
score ‘表名’,{COLUMNS=>[‘列族名1’,‘列族名2’…],参数名:参数值…}
大括号内的内容为扫描条件,如不指定则查询所有数据
【示例1】
全表扫描

scan 'score'

在这里插入图片描述
注意一下,这里的输出提示显示的两行数据,因为在scan的结果中,将相同行键的所有单元视为一行。
【示例2】
指定 rowkey 范围查询

scan 'score',{'STARTROW'=>'j','STOPROW'=>'t'}

在这里插入图片描述
【示例3】
指定某个列族查询

scan 'score',{COLUMNS=>'course'}

在这里插入图片描述
【示例4】
指定具体的列键来扫描

scan 'score',{COLUMNS=>'course:math'}

在这里插入图片描述

五、获取数据

get 用于获取行的所有单元或者某个指定的单元。语法结构如下:
get ‘表名称’,‘行键’,{COLUMNS=>[‘列族名1’,‘列族名2’…],参数名:参数值…}
get ‘表名称’,‘行键’,{COLUMNS=>[‘列键1’,‘列键2’…],参数名:参数值…}
与scan相比多一个行键参数。scan 查找的目标是全表的某个列族、列键,而 get 查找的目标是某行的某个列族、列键。
【示例1】
查找行键为 ‘json’ 的所有单元

get 'score','json'

在这里插入图片描述
【示例2】
精确查找行键为 ‘json’,列键为 ‘course:math’ 的单元

get 'score','json',{COLUMNS=>'course:math'}

在这里插入图片描述
提示:

get 'score','json',{COLUMNS=>'course'} 等价于 get 'score','json','course'
get 'score','json',{COLUMNS=>'course:math'} 等价于 get 'score','json','course:math'

六、删除数据

语法如下:
delete ‘表名称’,‘行键’,‘列键’
delete ‘表名称’,‘行键’
delete 只能删除一个单元,而deleteall能删除一行。
【示例1】
删除 score 表中行键为 ‘json’ ,列键为 ‘course:art’ 的单元

delete 'score','json','course:art'

【示例2】
删除一行

delete 'score','json'

七、修改表

使用 alter 可为表增加或修改列族。语法如下:
alter ‘表名’,参数名=>参数值…
其中列族名参数NAME必须提供,如果已存在则修改,否则会增加一个列族。
【示例1】
将score表的列族“course”的"VERSIONS"参数修改为5。

alter 'score',NAME=>'course',VERSIONS=>'5'

在这里插入图片描述【示例2】
将score表的两个列族“course”的"VERSIONS"参数修改为5。

alter 'score',{NAME=>'grade',VERSIONS=>'5'},{NAME=>'course',VERSIONS=>'5'}

在这里插入图片描述【示例3】
删除一个列族数据

alter 'score','delete'=>'grade'

在这里插入图片描述

八、删除表

通过 describe 命令可以发现,HBase 表分为两种状态:enabled和disabled,分别表示是否可用。表默认为 enabled 状态,此状态下不可进行删除表操作,所以要先把表置为 disabled 状态,才能对表进行删除操作。
【示例】

disable 'score'
drop 'score'

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HBase ShellHBase的交互式命令行界面,用于管理HBase数据库和执行各种操作。以下是HBase Shell常用命令: 1. help:显示可用命令的帮助信息。 2. version:显示当前HBase Shell的版本号。 3. status:显示HBase集群的状态信息,包括RegionServer的数量和状态。 4. list:列出所有的。 5. create ‘table_name’, ‘column_family’:创建一个,并指定列族。 6. disable ‘table_name’:禁用一个,停止对其进行读写操作。 7. enable ‘table_name’:启用一个,允许对其进行读写操作。 8. describe ‘table_name’:显示一个的结构信息,包括列族和列的详细信息。 9. alter ‘table_name’, {NAME => ‘column_family’, VERSIONS => ‘version_count’}:修改的列族或列的配置,例如修改列族的最大版本数目。 10. drop ‘table_name’:删除一个。 11. put ‘table_name’, ‘row_key’, ‘column_family:column’, ‘value’:向插入一条数据。 12. get ‘table_name’, ‘row_key’:获取指定行的数据。 13. scan ‘table_name’:扫描整个,获取所有数据。 14. delete ‘table_name’, ‘row_key’, ‘column_family:column’:删除指定行的数据。 15. count ‘table_name’:统计的行数。 这些命令只是HBase Shell的一部分,还有其他更多的命令可用于管理和操作HBase数据库。通过使用这些命令,可以在HBase Shell轻松地管理插入和检索数据,以及执行其他与HBase相关的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值