HBase Shell常用的命令

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 HBase Shell常用的命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

场景

HBase在CentOS上分布集群安装:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119511593

在上面搭建起来HBase的分布集群环境后,看下HBase Shell的常用命令。

前面我们已经用到HBase Shell命令:status和exit。HBase shell命令又分为

几个组,输入:help “cmd”,可查看所有分组及其包含的命令,如果需要了解具体命令

的用法,将参数“cmd”换成具体命令即可,如:help”status”。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、创建表:create

create ‘表名称’,’列名称1′,’列名称2′

示例:

create 'scores','grade','course'

HBase Shell常用的命令

2、查看所有表:list

使用list命令可以查看当前HBase数据库中所有表

list

3、查看表中所有列族的详细信息:describe

语法:describe ‘表名’

HBase Shell常用的命令

列族描述信息的具体含义

HBase Shell常用的命令

上面创建scores表的语法为简写,完整写法如下

create 'scores',{NAME=>'grade',VERSION=>5},{NAME=>'course',VERSION=5}

    对比前面的方式,此命令指定了列族名称及可保存的单元时间版本最大数量。可以

看出,指定列族参数的格式为:参数名=>参数值,注意赋值符号为“=>”且参数名必

须大写。如果指定了多个参数,应以逗号分开,最后所有参数以“{}”括起来表示一个

列族。

4、添加数据:put

语法:put ‘表名称’,’行键’,’列键’,’值’

示例:

hbase:013:0> put 'scores','badao','grade:','1'
Took 0.0305 seconds                                                                                                   
hbase:014:0> put 'scores','tom','course:art','80'
Took 0.0178 seconds                                                                                                   
hbase:015:0> put 'scores','tom','course:math','88'
Took 0.0406 seconds                                                                                                   
hbase:016:0> put 'scores','tom','grade','2'
Took 0.0203 seconds                                                                                                   
hbase:017:0> put 'scores','badao','course:art','86'
Took 0.0157 seconds                                                                                                   
hbase:018:0> put 'scores','badao','course:math','85'
Took 0.0297 seconds                                                                                                   
hbase:019:0>

5、扫描表:scan

scan用于进行全表单元扫描

语法:scan’表名称’,{COLUMNS=>[‘列族名1′,’列族名2’],参数名=>参数值}

大括号内的内容为扫描条件,如不指定则查询所有的数据

scan'scores'

HBase Shell常用的命令
输出结果显示共2行数据,因为在scan的结果中,将相同行键的所有单元视为一行。 

如果对有些列族不关心,便可指定只查询某个列族。

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

HBase Shell常用的命令

将COLUMNS替换成COLUMN,表示查询某个列键,下面扫描所有行的列键为course:math的单元并使用LIMIT参数限制只输出一个。

scan'scores',{COLUMN=>'course:math',LIMIT=>1}

HBase Shell常用的命令 

6、获取数据:get

get用于获取行的所有单元或者某个指定的单元

语法:

get’表名称’,’行键’,{COLUMNS=>[‘列族名’,’列族名2′],参数名=>参数值}

get’表名称’,’行键’,{COLUMN=>[‘列键1′,’列键2′],参数名=>参数值}

与scan相比多一个行键参数。scan查找的目标是全表的某个列族、列键,而get

查找的目标是某行的某个列族、列键。

例如:查找行键为badao的所有单元

get 'scores','badao'

例如:查找行键为badao,列键为course:math的单元

get 'scores','badao',{COLUMN=>'course:math'}

HBase Shell常用的命令

7、删除数据:delete

语法:

delete ‘表名称’,’行键’,’列键’

deleteall ‘表名称’,’行键’

delete只能删除一个单元,而deleteall能删除一行。

示例:

delete 'scores','tom','course:art'

HBase Shell常用的命令

8、修改表

使用alter可为表增加或修改列族

语法:alter ‘表名称’,参数名=>参数值,…

其中列族名参数NAME必须提供,如果已存在则修改,否则会增加一个列族。

将scores表的列族course的VERSIONS参数修改为5示例:

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

HBase Shell常用的命令

同时修改或增加多个列族时应以逗号分开,并且每个列族用{}括起来。

示例:

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

9、删除表:drop

HBase表分为两种状态:ENABLED和DISABLED,分别表示是否可用。

使用disable将表置为不可用状态

disable 'scores'

使用enable将表置为可用状态

enable 'scores'

当表为ENABLED状态时,会被禁止删除。所以必须先将表置为DISABLED状态才可被删除。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136218.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!