我正在使用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来获取旧值,但是我想以一种更优化的方式进行操作。
有人知道该怎么做吗? 谢谢。
答案 0 :(得分:2)
您可以为此使用计数器和增量。它会在单个事务中执行,这与执行get和put来增加值不同。
请注意,存储的值为二进制格式。
x1
要从值中减去,只需将负数用作最后一个参数即可。