这篇文章将为大家详细讲解有关HBase中常用Shell操作有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、鹤山ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的鹤山网站制作公司
HBase为用户提供了一个Shell终端进行交互操作,通过“help get”命令可以获得帮助信息。
【查询相关】
1. 进入hbase shell console
    $HBASE_HOME/bin/hbase shell
2. 查看有哪些表
    list
3. 查看全表数据 
    scan 'tablename'
    查看LIMIT数据
    scan 'tablename',{LIMIT=>10}
4. 查看表描述
    describe 'table' 
5. 查看状态
    hbase(main):004:0> status
    30 servers, 0 dead, 242.7000 average load
6. 获得单行值
    get 'tablename' ,'rowkey'(注意有个逗号)
    获取单行某个列簇的值:
    get 'tablename','rowkey','family'
    获取单行某个列簇某一列的值:
    get 'tablename','rowkey','family:column'  
    通过timestamp获取两个版本的数据:
    get 'tablename' ,'rowkey',{COLUMN=>'family:column',TIMESTAMP=>1321586238965}
    通过rowKey的前缀查询单条记录:
    scan 'YK.VVCOUNT_VID_LIST',{FILTER=>"PrefixFilter('-1001808375')"}
    结果:-1001808375_199894794  column=v:vids, timestamp=1457892147304, value=199503532,199503519
7. 查看表的总记录数
    count 'tablename'
8. 判断表是否disable
    is_disabled 'tablename'
9. 判断表是否enable
    is_enabled 'tablename'
10. 判断表是否存在
    exists 'tablename'
11. 获取当前count
【添加/创建】
1. 创建表
(1) 最简单
create  'TD.VVCOUNT_PLAYLIST_VV', {NAME => 'v'}
(2) 数据7天过期
create 'TD.VVCOUNT_DAY_PLAYLIST_VV', {NAME => 'v', BLOOMFILTER => 'ROWCOL', COMPRESSION => 'SNAPPY', TTL => '604800', BLOCKSIZE => '32768', METADATA => {'ENCODE_ON_DISK' => 'true'}}
精简版:
create 'YK.VVCOUNT_VIDEO_REAL_VV', {NAME => 'v', TTL => '604800'}
(3) 包含多个列族
create 'user','v','f'
2. 插入数据
put 'testtable' , 'myrow-1' , 'colfaml:q1' , 'value-1'
put 'testtable' , 'myrow-2' , 'colfaml:q2' , 'value-2'
put 'testtable' , 'myrow-2' , 'colfaml:q3' , 'value-3'
可以看到有两个行键myrow-1和myrow-2,所以有两行。colfaml为列簇名称,q1、q2、q3为列名称
【修改】
1. 更新一条记录
    put 'member','scutshuxue','info:age' ,'99'
【删除】
1. drop 表
    disable 'tablename'
    drop  'tablename'
2. 清空整张表
    truncate  'tablename'
3. 删除整行
    deleteall 'tablename','rowkey'
4. 删除一个列簇
    先将表disable(如果表中之前有数据的话,会把数据清空    
    disbale 'tablename'
    is_enabled  'tablename'
    alter  'tablename' ,{NAME=>'m_id',METHOD=>'delete'}
    enable 'tablename'
5. 删除某行中的某列
    delete 'testtable' , 'myrow-2' , 'colfaml:q2'
【管理相关】
1. Region管理
(1) 移动Region
# 语法:move 'encodeRegionName', 'ServerName'
# encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表
# 示例
hbase(main)>move '4343995a58be8e5bbc739af1e91cd72d', 'db-41.xxx.xxx.org,60020,1390274516739'
(2) 开启/关闭Region
# 语法:balance_switch true|false
hbase(main)> balance_switch
(3) 手动split
# 语法:split 'regionName', 'splitKey'
(4) 手动触发major compaction
#语法:
#Compact all regions in a table:
#hbase> major_compact 't1'
#Compact an entire region:
#hbase> major_compact 'r1'
#Compact a single column family within a region:
#hbase> major_compact 'r1', 'c1'
#Compact a single column family within a table:
#hbase> major_compact 't1', 'c1'
2. 权限管理
(1) 查看权限
# 语法:user_permission

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 