Hbase 计数器
Hbase计数器可以用于统计用户数,点击量等信息
基本操作
可以使用incr操作计数器,incr语法格式如下:
incr '<table>', '<row>', '<column>', |<increment-value>|
然后使用get_counter可以获取对应的计数器的值
不用初始化计数器,第一次使用计数器时,计数器被自动设置为0
eg:
对于wishTest1表
incr 'wishTest1','2','score:Math',1 incr 'wishTest1','2','score:Math',1 get_counter 'wishTest1','2','score:Math'
结果如下:

hbase(main):004:0> incr 'wishTest1','2','score:Math',1
COUNTER VALUE = 1 hbase(main):005:0> incr 'wishTest1','2','score:Math',1
COUNTER VALUE = 2 hbase(main):007:0> get_counter 'wishTest1','2','score:Math'
COUNTER VALUE = 2 hbase(main):008:0>

增大计数的递增值:

hbase(main):001:0> incr 'wishTest1','2','score:Math',10
COUNTER VALUE = 12 hbase(main):002:0> incr 'wishTest1','2','score:Math',10
COUNTER VALUE = 22 hbase(main):003:0> get_counter 'wishTest1','2','score:Math'
COUNTER VALUE = 22

使用API操作计数器
使用table.incrementColumnValue()
eg:

String tableName = "wishTest1";
HTablePool pool = new HTablePool(cfg, 1000);
try {
long count1 = pool.getTable(tableName).incrementColumnValue(Bytes.toBytes("2"),Bytes.toBytes("score"),Bytes.toBytes("Math"),1);
long count2 = pool.getTable(tableName).incrementColumnValue(Bytes.toBytes("2"),Bytes.toBytes("score"),Bytes.toBytes("Math"),1);
long currentCount = pool.getTable(tableName).incrementColumnValue(Bytes.toBytes("2"),Bytes.toBytes("score"),Bytes.toBytes("Math"),0);
System.out.println("count1: "+count1);
System.out.println("count2: "+count2);
System.out.println("currentCount: "+currentCount);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

输出:
count1: 23
count2: 24
currentCount: 24
Hbase 计数器的更多相关文章
- hbase计数器
1 计数器 计数器可以方便.快速地进行计数操作,而且避免了加锁等保证了原子性的操作. 1.1 Java API 操作 HBase 计数器 public Result increment(final ...
- HBase - 计数器 - 计数器的介绍以及使用 | 那伊抹微笑
博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-215- ...
- HBase之计数器
HBase计数器 #创建counters表 列族['daily','weekly','monthly'] hbase(main):001:0> create 'counters','daily' ...
- Hbase学习04
3.2.4 反向时间戳 反向扫描API HBASE-4811(https://issues.apache.org/jira/browse/HBASE-4811)实现了一个API来扫描一个表或范围内的一 ...
- HBase常用shell操作
行(row),列(Column),列蔟(Column Family),列标识符(Column Qualifier)和单元格(Cell) 行:由一个个行键(rowkey)和一个多个列组成.其中rowke ...
- hbase开发实例
1.put/checkAndPut package com.testdata; import java.io.IOException; import org.apache.hadoop.conf.Co ...
- HBase与MongDB等NoSQL数据库对照
HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...
- HBase Shell 常见操作
1.一般操作 status 查看状态 version 查看HBase版本 2.DDL操作 create 'member','member_id','address','info' 创建了一个membe ...
- HBase使用场景和成功案例 (转)
HBase 使用场景和成功案例 有时候了解软件产品的最好方法是看看它是怎么用的.它可以解决什么问题和这些解决方案如何适用于大型应用架构,能够告诉你很多.因为HBase有许多公开的产品部署,我们正好可以 ...
随机推荐
- Jquery中的事件绑定$("#btn").bind("click",function(){ })
Jquery中的事件绑定:$("#btn").bind("click",function(){ }) 由于每次都这么调用太麻烦,所以jquery就用$(&qu ...
- 一种解决的方法:CGContextSaveGState: invalid context 0x0
遇到这个问题找了好久答案,最后排错排出来了 CGContextSaveGState: invalid context 0x0. This is a serious error. This applic ...
- Meth | phpstorm 2016.2 的最新破解方法(截止2016-8-1)
今天刚更新了phpstorm 2016.2版本,发现网上提供的破解地址都有问题,即*.lanyus.com及*.qinxi1992.cn下的全部授权服务器已遭JetBrains封杀. 最后网上找到一个 ...
- 关于Linux下面msyql安装后并未设置初始密码,但是登录报错“Access denied for user 'root'@'localhost' (using password: NO)”的解决方案
如上图:首先我安装mysql的时候并没有设置密码,但是就是登不进去,百度了一下,解决方案如下: 解决方案地址:http://zhidao.baidu.com/link?url=7QvuOKtfRdMT ...
- c#字符串驻留机制
http://www.cnblogs.com/instance/archive/2011/05/24/2056091.html
- centos 6.X 安装输入法
1.打开终端 su 输入 密码 yum install "@Chinese Support" 2.接下来是启用中文输入法的操作 系统 ->首选项 ->输入法 3.在弹出 ...
- poj3278 BFS入门
M - 搜索 Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:65536KB 64bit I ...
- USACO5.4-TeleCowmunication
题目大意:给出一个无向图,要求删除尽量少的点,使给定的2点间不再连通,并输出字典序最小的方案题型:图论-网络流此题难点在于建图,后面就是套网络流的模板.将点看成边,例如第i个点可以看成一条有向边< ...
- 【USACO 3.2.5】魔板
[描述] 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 我们知道魔板的每一个方格都有一种颜色.这8种颜色用前8个 ...
- Objective-C中的协议(Protocol)和类别(Category)
1.什么是协议? 2.协议与类别的声明和使用 1.什么是协议? 在Objective-C中,不支持多继承,即不允许一个类有多个父类,但是OC提供了类似的实现方法,也就是协议.协议有点类似于Java里的 ...