zoukankan      html  css  js  c++  java
  • HBase学习2(HBase shell)

    HBase 常用命令

    查看当前用户:whoami
    创建表:create '表名', '列族名1','列族名2','列族名N'
    查看所有表:list
    描述表:    describe  ‘表名’
    判断表存在: exists  '表名'
    判断是否禁用启用表:is_enabled '表名'和is_disabled ‘表名’
    
    添加记录: put  ‘表名’, ‘rowKey’, ‘列族 : 列‘  ,  '值'
    查看表中的记录总数: count  '表名'
    查看记录rowkey下的所有数据: get  '表名' , 'rowKey'
    获取某个列族:get '表名','rowkey','列族'
    获取某个列族的某个列:get '表名','rowkey','列族:列’
    
    删除记录:delete  ‘表名’ ,‘行名’ , ‘列族:列'
    删除整行:deleteall '表名','rowkey'
    删除一张表:先要屏蔽该表,才能对该表进行删除 
                 第一步 disable ‘表名’ ,第二步  drop '表名'
                    
    清空表:truncate '表名'
    查看所有记录:scan "表名"  
    查看某个表某个列中所有数据: scan "表名" , {COLUMNS=>'列族名:列名'}
    
    

    进入hbase shell

    [root@spark1 ~]# start-hbase.sh #启动hbase
    [root@spark1 ~]# hbase shell #
    查询当前用户
    hbase(main):024:0> whoami
    查看有哪些表
    hbase(main):020:0> list
    
    

    表的管理

    创建表

    语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
    
    
    创建表t1,列族为f1,列族版本号为5
    hbase(main):001:0> create 't1',{NAME=>'f1',VERSIONS=>5}
    
    创建表t2,有两个family name:f1,f2,且版本数均为2
    hbase(main):002:0> create 't2',{NAME => 'f1',VERSIONS => '2'},{NAME => 'f2',VERSINS => 2}
    
    创建表t3
    hbase(main):003:0> create 't3','f1','f2','f3'
    
    创建表t4,将表依据分割算法HexStringSplit分布在15个Region里
    hbase(main):004:0> create 't4','f1',{NUMREGIONS => 15,SPLITALGO => 'HexStringSplit'}
    
    创建表t5,指定切分点
    hbase(main):005:0> create 't5','f1',{SPLITS => ['10','20','30','40']}
    
    创建表users
    hbase(main):006:0> create 'users', 'user_id' ,'address','info'
    => Hbase::Table - users
    
    向表t1中行row1,列f1:1,添加数据value1,时间戳为2016121730
    hbase(main):007:0> put 't1','key1','f1:1','value1',2016121730
    
    

    删除表(先屏蔽在删除)

    hbase(main):008:0> disable 't1'
    hbase(main):009:0> drop 't1'
    
    

    查看表的结构

    hbase(main):010:0> desc 't1'
    
    

    表数据的增删改查

    添加数据

    语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
    
    给t1表添加条数据
    hbase(main):011:0> put 't1','key1','f1:col1','value1'
    
    

    查询某行记录

    查询t1表中key1下所有的值
    hbase(main):012:0> get 't1','key1'
    查询t1 key1中,f1下1的值
    hbase(main):013:0> get 't1','key1','f1:1'
    或者
    hbase(main):014:0> get 't1','key1',{COLUMN => 'f1:1'}
    
    

    扫描表(可添加STARTROW、TIMERANGE和FITLER等高级功能)

    
    hbase(main):015:0> scan 't1' ,{LIMIT => 5}
    
    
    

    统计表中数据行数

    语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}
    INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存
    区大小,默认是10,调整该参数可提高查询速度
    
    查询表t1中的行数,每100条显示一次,缓存区为500
    hbase(main):058:0> count 't1',{INTERVAL => 100,CACHE => 500}
    
    

    删除数据

    删除行中某个列值(必须指定列名)

    例如:删除表t1,key1中的f1:1的数据
    hbase(main):015:0> delete 't1','key1','f1:1'
    

    删除行

    hbase(main):016:0> deleteall 't1','key1'
    

    删除表中所有数据

    删除t1表中所有数据
    hbase(main):017:0> truncate 't1'
    

    权限管理

    分配权限

    语法 : grant <user> <permissions> <table> <column family> <column
    qualifier>
    
    

    查看权限

    语法:user_permission <table>
    
    

    收回权限

    语法:revoke <user> <table> <column family> <column
    qualifier>
    
    

    Region管理

    移动region

    语法:move 'encodeRegionName', 'ServerName'
    encodeRegionName指的regioName后面的编码,ServerName指的是master-stat
    us的Region Servers列表
    
    

    开启/关闭region

    语法:balance_switch true|false
    
    

    其他

    查看命令帮助信息
    hbase(main):020:0> create help
    查看表是否存在
    hbase(main):021:0> exists 't1'
    
    
  • 相关阅读:
    javascript 数组去重
    自动补全多标签输入, 适合新闻标签/商品标签
    一个不错的定位API网站
    pkill killall kill pidof
    topas top vmstat
    grep使用多个查询条件--或
    lsof
    Java 内存区域和GC机制-java概念理解
    Linux下的文件查找类命令(转载)
    centerOS安装rkhunter
  • 原文地址:https://www.cnblogs.com/wujiadong2014/p/6193046.html
Copyright © 2011-2022 走看看