Hbase课程02- Hbase shell命令总结

 1、前言

   对hbase的操作使用最多的两种查询方式一个是shell命令,在项目开发中临时查

   

询经常使用,还一个是Hbase  Java API的使用,代码开发过程中常用。重用shell命令


名称
命令表达式
创建表
create '表名称', '列名称1','列名称2','列名称N'
添加记录      
put '表名称', '行名称', '列名称:', '值'
查看记录
get '表名称', '行名称'
查看表中的记录总数
count  '表名称'
删除记录
delete  '表名' ,'行名称' , '列名称'
删除一张表
先让表下线,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称'
查看所有记录
scan "表名称"  
查看某个表某个列中所有数据
scan "表名称" , ['列名称:']
更新记录
就是重写一遍进行覆盖


2、命令详解

     Hbase集群正常配置后,进入到hbase安装目录,执行bin/hbase shell命令

    *  status

       服务器状态查询,显示有几个节点,宕机了几台节点,集群平均负载情况等信息
  

*  version

      查询hbase版本

*  新建表  

     create 'member' ,{NAME => 'f1',VERSIONS => 1,COMPRESSION => 'LZO', TTL => '6000'}

     NAME :列族名称

     version:数据保存的版本个数

     COMPRESSION :使用的压缩方法,要提前配置好,通常有LZO,SNAPPY等

     TTL:数据保存周期,单位秒

   

*  查询表

      describe 'member'

      

NAME:列名

DATA_BLOCK_ENCODING:是HBase 0.94版本引入的特性,可以将重复的row/family/qualifier/进行压缩,减少block的空间占用,提高内存使用率,可以通过http://zjushch.iteye.com/blog/1585066了解更多

BLOOMFILTER:提高随机读的性能

REPLICATION_SCOPE:hbase-0.90.0的一个重要改进是引入了replication机制,使它的数据完整性得到了进一步的保障

VERSIONS:数据保存版本,默认是3 这个参数的意思是数据保留三个 版本,如果我们认为我们的数据没有这么大的必要保留这么多,随时都在更新,而老版本的数据对我们毫无价值,那将此参数设为1 能节约2/3的空间

COMPRESSION:存储压缩方法,采用压缩可以大大节约空间

MIN_VERSIONS:最小版本数

TTL:数据保存周期,单位秒

KEEP_DELETED_CELLS:涉及到hbase的删除机制,

BLOCK_SIZE:block大小,了解region的组成原理

IN_MEMORY:是否进入缓存

BLOCK_CACHE:HBase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写;另外一部分作为BlockCache,主要用于读


* 插入一条记录:

     put '表名','row key','列族名:列名','值'

    put'member','18070148938','f1:c1','24'

* 更新记录(记录只保存一个版本),

     插入相同的rowkey可直接覆盖,实现更新功能

    put 'member','18070148938','f1:c1','25'

*  查询记录

     scan '表名',{STARTROW=>‘起始rowkey’,STOPROW=>'结束rowkey'}

    scan查询:scan 'member',{STARTROW=>'18070148938',STOPROW=>'18070148940'}

    

    get查询:get 'member','18070148938'


* 删除记录

delete 'member','18070148947','f1:c1'


*删除列族

disable 'member'

alter 'member',{NAME=>'f1',METHOD=>'delete'} 

*删除表

disable 'member'

drop 'member'

*  列出所有表 :list

 

查询表是否存在:exsists '表名'

   

* 判断表是否enable:is_enabled '表名'

   

*清空表

truncate 'member'

 

*批量导数据

mapred.job.queue.name:指明提交队列

生成HFile:

bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -D mapred.job.queue.name=hadoop -Dimporttsv.bulk.output=/tmp/hac/wide_t85908  -Dimporttsv.columns=HBASE_ROW_KEY,f:c01,f:c02,f:c03,f:c04,f:c05,f:c06,f:c07,f:c08,f:c09  wide_t85908 /tmp/wide_t85908

 

bulkload导数据:

 bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles  /tmp/hac/wide_t85908 wide_t85908




    本文为Anmy老师原创,感兴趣的欢迎转载

    格言:码代码的同时,努力成为一个知识的传播者。

    QQ:   1726076126,加时请注明:CSDN










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值