Hbase:列的自动增量

时间:2016-11-20 00:40:10

标签: hadoop hbase counter

我是Hbase的新手。需要帮忙, 我在Hbase中有一些包含一些数据的表。

Id Name Address
1  john XX-XX
2  mike XXX-XX

Id应自动增加。现在我必须在表中插入数据,就像我们插入10条记录一样,Id应该增加到12,如

Id Name Address
1  john XX-XX
2  mike XXX-XX
3  foo   XXXX
...
...
12 booo  xxx

可能会想到Hbase中的序列生成器。 有人可以用代码帮我。

1 个答案:

答案 0 :(得分:2)

HBase没有序列生成器。正如谢尔盖评论的那样,不推荐使用序列作为行键。面对这样的需求时,应该仔细分析。如果您最终需要这样做,建议使用salted key approach

HBase确实支持可用于生成序列的全局计数器(increment actions)。但是,这些不能以原子方式用于为正在添加的行生成键值(您必须递增并获取值,然后放置新行)。因此,如果后续放置失败并且您有2个RPC,则可能会出现间隙。

当我们以这种方式使用计数器时,我们使用盐键,接受可能发生的间隙,并按块递增,以避免为所需的每个密钥使用RPC。