HBase - 计数器 - 计数器的介绍以及使用 | 那伊抹微笑

博文作者:那伊抹微笑

csdn 博客地址:http://blog.csdn.net/u012185296

itdog8 地址链接 : http://www.itdog8.com/thread-215-1-1.html

博文标题:HBase - 计数器 - 计数器的介绍以及使用 | 那伊抹微笑

个性签名:世界上最遥远的距离不是天涯。也不是海角,而是我站在妳的面前,妳却感觉不到我的存在

技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+Spark ... 云计算技术

转载声明:能够转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作!

qq交流群:214293307  (期待与你一起学习,共同进步)

1 计数器

计数器能够方便、高速地进行计数操作。并且避免了加锁等保证了原子性的操作。

1.1 Java API 操作 HBase 计数器

public Result increment(final Increment increment)

public long incrementColumnValue(final byte [] row, final byte [] family,

final byte [] qualifier, final long amount)

public long incrementColumnValue(final byte [] row, final byte [] family,

final byte [] qualifier, final long amount, final Durability durability)

从这 3 个 HBase 提供的 计数器 API 来看,能够知道有 单列计数器 和 多列计数器

pv + 1 的 Java 示比例如以下 :

_hTable.incrementColumnValue(Bytes.toBytes("row-zhangsan-001"), Bytes.toBytes("info"), Bytes.toBytes("pv"), 1L);

1.2 Shell 操作 HBase 计数器

hbase(main):011:0> incr ‘user‘, ‘row-zhangsan-001‘, ‘cf1:pv‘, 10

hbase(main):012:0> incr ‘user‘, ‘row-zhangsan-001‘, ‘cf1:pv‘, -1

hbase(main):013:0> scan ‘user‘

ROW                                                 COLUMN+CELL

row-zhangsan-001                                   column=cf1:pv, timestamp=1438853474770, value=\x00\x00\x00\x00\x00\x00\x00\x09

hbase(main):014:0> get_counter ‘user‘, ‘row-zhangsan-001‘, ‘cf1:pv‘, ‘‘

COUNTER VALUE = 9

// 看以下提示,给的样例仅仅要3个參数,为什么我要打4个才可以用???

hbase(main):015:0> get_counter ‘user‘, ‘row-zhangsan-001‘, ‘cf1:pv‘

ERROR: wrong number of arguments (3 for 4)

Here is some help for this command:

Return a counter cell value at specified table/row/column coordinates.

A cell cell should be managed with atomic increment function oh HBase

and the data should be binary encoded. Example:

hbase> get_counter ‘ns1:t1‘, ‘r1‘, ‘c1‘

hbase> get_counter ‘t1‘, ‘r1‘, ‘c1‘

The same commands also can be run on a table reference. Suppose you had a reference

t to table ‘t1‘, the corresponding command would be:

hbase> t.get_counter ‘r1‘, ‘c1‘

hbase(main):055:0> get ‘test_icv_tmp_1‘, ‘row-zhangsan-001‘, ‘cf1:pv‘

COLUMN                                              CELL

cf1:pv                                             timestamp=1438853974733, value=\x00\x00\x00\x00\x00\x00\x00\x0A

1 row(s) in 0.0080 seconds

hbase(main):056:0>

1.3 单列计数器

_hTable.incrementColumnValue(Bytes.toBytes("row-zhangsan-001"), Bytes.toBytes("info"), Bytes.toBytes("pv"), 10L); // pv +10

_hTable.incrementColumnValue(Bytes.toBytes("row-zhangsan-001"), Bytes.toBytes("info"), Bytes.toBytes("pv"), -1L); // pv -1

1.4 多列计数器

pv +2 的同一时候,uv 同一时候 +1

Increment increment = new Increment(Bytes.toBytes("row"));

increment.addColumn(Bytes.toBytes("info"), Bytes.toBytes("pv"), 1L); // pv +2

increment.addColumn(Bytes.toBytes("info"), Bytes.toBytes("uv"), 1L); // uv +1

_hTable.increment(increment);

时间: 2024-10-25 13:13:27

HBase - 计数器 - 计数器的介绍以及使用 | 那伊抹微笑的相关文章

HBase - Filter - 过滤器的介绍以及使用 | 那伊抹微笑

博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-214-1-1.html 博文标题:HBase - Filter - 过滤器的介绍以及使用 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯.也不是海角.而是我站在妳的面前.妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+Mahout+

HBase - Coprocessor - 协处理器之观察者Observer(触发器)的介绍以及使用 | 那伊抹微笑

博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-216-1-1.html 博文标题:HBase - Coprocessor - 协处理器之观察者Observer(触发器)的介绍以及使用 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hb

HBase - MapReduce - 使用 MapReduce 批量操作 HBase 介绍 | 那伊抹微笑

博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-202-1-1.html 博文标题:HBase - MapReduce - 使用 MapReduce 批量操作 HBase 介绍 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+

HBase - MapReduce - HBase 作为输入源的示例 | 那伊抹微笑

博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-203-1-1.html 博文标题:HBase - MapReduce - HBase 作为输入源的示例 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+

HBase - MapReduce - HBase 作为输出源的示例 | 那伊抹微笑

博文作者:那伊抹微笑 csdn 博客地址:http://blog.csdn.net/u012185296 itdog8 地址链接 : http://www.itdog8.com/thread-204-1-1.html 博文标题:HBase - MapReduce - HBase 作为输出源的示例 | 那伊抹微笑 个性签名:世界上最遥远的距离不是天涯,也不是海角,而是我站在妳的面前,妳却感觉不到我的存在 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+Hive+

Hbase 0.95.2介绍及下载地址

HBase是一个分布式的.面向列的开源数据库,该技术来源于Google论文“Bigtable:一个结构化数据的分布式存储系统”.就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力.HBase是Apache的Hadoop项目的子项目.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.www.169it.com H

HBase之计数器

HBase计数器 #创建counters表 列族['daily','weekly','monthly'] hbase(main):001:0> create 'counters','daily','weekly','monthly' 0 row(s) in 1.5670 seconds => Hbase::Table - counters #递增命中 步长默认为1 hbase(main):002:0> incr 'counters', '20150101', 'daily:hits',

Python_collections_Counter计数器部分功能介绍

counter():是对字典的补充,用来方便的计数,继承了字典 import collections obj = collections.Counter('yigbavfsdcfdsfdsd') print(obj) 结果: Counter({'d': 4, 'f': 3, 's': 3, 'y': 1, 'i': 1, 'g': 1, 'b': 1, 'a': 1, 'v': 1, 'c': 1}) x.most_common():按照counter计数,以列表的形式降序返回前n项元素 imp

HBase - Filter - 过滤器的介绍以及使用

1 过滤器HBase 的基本 API,包括增.删.改.查等.增.删都是相对简单的操作,与传统的 RDBMS 相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查询(Scan).HBase 不仅提供了这些简单的查询,而且提供了更加高级的过滤器(Filter)来查询. 1.1 过滤器的两类参数过滤器可以根据列族.列.版本等更多的条件来对数据进行过滤,基于 HBase 本身提供的三维有序(行键,列,版本有序),这些过滤器可以高效地完成查询过滤的任务,带有过滤器条件的