HBase系列四--计数器

一、计数器
在hbase中,由于针对同一行的记录进行操作时,已经提供行级锁;这样的功能会带来大量资源竞争的后果;那么在hbase里面提供一个将列当做计数器的功能
1、计数器
计数器默认不用进行初始化默认值即为0;在计数器进行具体操作时可以添加对应的值;若是用户直接操作则需要使用
Bytes.toLong()--->解码 Bytes.toBytes(long)--->编码 注意编码时需要明确指定对应的参数为long类型;同时若是用户
通过put方法误操作之后,在通过incr操作 则会出现和预期不一致的内容;主要是用于在执行put时将对应的参数当成字符,而非Long
被shell当做字节数组存储,最高位设置成ascii的对应字母,在增加值的最低位字节再转成long类型,这样就会导致结果超出预期
incr : 计数器操作
get : 获取counter的具体内容(十六进制 非格式化内容)
get_counters : 获取counter的具体内容(格式化内容)
2、api
// 创建counter
// 1、创建hbase table
HTableInterface htable = HbaseUtils.getHTable(tableName, config);
// 2、执行incr
//方法参数说明: Row columfamily column incr params
long cnt1 = htable.incrementColumnValue(Bytes.toBytes("20151202"), Bytes.toBytes("daily"), Bytes.toBytes("hits"),
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值