当前位置:   article > 正文

Hbase常用命令速查

Hbase常用命令速查
前言
  • 以下命令在hbase1.2.1版本下试验通过。
  • 记录常用hbase命令提高工作效率
常用命令
  • 使用命令操作时,需要对表名列名带上单引号,否则会被hbase认为是一个变量,会报如下错误:

    • NameError: undefined local variable or method `main2’ for Object:0x44b21f9f>
  • 查看安装版本

version
  • 1
列族相关
1)增加/修改 一个列族,指定版本号
alter 'test_tianyan', NAME => 'main2', VERSIONS => 6
或者
alter 'test_tianyan', { NAME => 'main2', VERSIONS => 6 }

2)删除列族
alter 'test_tianyan','delete'=>'main2' 

3)如果是创建表时,则可以指定多个列族
create 'new_table','f1','f2','f3'

4)修改一个列族为多个版本
默认情况下,hbase只会存储一个版本的数据,如果有获取多个版本值的情况,则可通过如下命令修改。
alter 'test_tianyan',{NAME=>'main',VERSIONS=>5}
  
注意NAME和VERSIONS必须是大写。
可以使用VERSIONS和COLUMN指定获取多个版本数据。
get 'test_tianyan','testRowKey1',{COLUMN=>'main:id',VERSIONS=>5}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
表结构相关
1)查看表描述(desc命令是 describe的缩写)
desc 'order_info_tbl'
或者 describe 'order_info_tbl'

2)删除表,在删除表之前,需要先disable,然后再用drop删除 
disable 'order_info_tbl'
drop 'order_info_tbl'

3)删除并重建表(其实也是调用disable后使用drop删除的)
truncate 'order_info_tbl'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
数据相关
取5行数据
scan 'order_info_tbl' ,{LIMIT=>5}

查看hbase所有的filters
show_filters

列出所有表
list
列出sence开头的表
list 'list 'sence.*' 

通过rowKey精确查询 
get 'order_info_tbl','1018112285488692_1542878164726_10'


删除main列族下的tx_id列(delete '表名','rowKey','列族名:列' )
delete 'order_info_tbl','1543071151193','main:tx_id'

删除rowKey下的所有列
deleteall 'order_info_tbl', ’rowkey'

修改操作,将main列族下的tx_id列置空(put '表名','rowKey','列族名:列' )
put 'order_info_tbl','1543071151193','main:tx_id',''


设置指定rowKey下列的值
put 'test_tianyan','row2','main:name','hyq'

获取rowKey下具体一列的值
get 'test_tianyan','row2',{COLUMN=>'main:name'}



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
scan高级用法
配合show_filters命令,指定相应的filter使用。

指定开始位置和结束位置
scan 'order_info_tbl',{STARTROW=>'1018112552468133',ENDROW=>'1018112658271187',LIMIT=>11}

模糊匹配rowKey
scan 'test_tianyan',{ROWPREFIXFILTER=>'r',LIMIT=>2}

扫描多个列,限制行数
scan 'test_tianyan',{COLUMNS=>['main:id','main:name'],LIMIT=>1}

模糊匹配rowKey
scan 'order_info_tbl',{ROWPREFIXFILTER =>'11',LIMIT=>2,FILTER=>"(QualifierFilter (>, 'binary:1018021991552673')) "}

过滤出10条包含指定值的列
scan 'order_info_tbl', {FILTER=>"ValueFilter(=,'substring:41012_11')",LIMIT=>10}

rowKey前缀模糊匹配
scan 'test_tianyan', {FILTER => "PrefixFilter('r')"}

rowKey前缀模糊匹配,只查询指定列
scan 'test_tianyan',{COLUMNS=>'main:name',FILTER=>"PrefixFilter('r')"}
scan 'test_tianyan',{COLUMNS=>['main:name','main:id'],FILTER=>"PrefixFilter('r')"}

列过滤
scan 'test_tianyan',{FILTER=>"QualifierFilter(>=,'binary:name')"}

时间过滤器
scan 'test_tianyan',{FILTER=>"TimestampsFilter(1543813062349,1543813090552)"}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
其他技巧
  • 组合多个命令
    • 可以组合多个命令,执行不同的操作,例如:改变列族main2的版本号为4,删除main4列族
alter 'test_tianyan',{NAME=>'main2',VERSIONS=>4},{NAME=>'main4',METHOD=>'delete'}
  • 1

欢迎店点赞,分享、关注公众号
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/725762
推荐阅读
相关标签
  

闽ICP备14008679号