使用现有值在HBase中向上插入

时间:2019-04-02 14:08:06

标签: java hbase put

我正在使用HBase来存储一些流数据,并且我具有从一个插入演变为另一个插入的值,并且使用现有值。

我有一个这样创建的表:

hbase(main):005:0> create ‘mytable’,’mycolfam’

该表将包含一个名为val的字段

首先,我随即插入数据(键= 1,值= 10):

hbase(main):005:0> put 'mytable','1','mycolfam:val',10

然后,我具有相同键“ 1”(键= 1,值= 12)的传入数据,并且HBase中插入的值必须是新值和旧值(10 + 12)的和。

hbase(main):005:0> put 'mytable','1','mycolfam:val',oldvalue+newvalue

我尝试了Get first来获取旧值,但是我想以一种更优化的方式进行操作。

有人知道该怎么做吗? 谢谢。

1 个答案:

答案 0 :(得分:2)

您可以为此使用计数器和增量。它会在单个事务中执行,这与执行get和put来增加值不同。

请注意,存储的值为二进制格式。

x1

要从值中减去,只需将负数用作最后一个参数即可。