hbase:列的自动增量

siv3szwd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(573)

我是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中的序列发生器。有人能帮我写代码吗。

c0vxltue

c0vxltue1#

hbase没有序列生成器。正如sergey评论的那样,不建议使用序列作为行键。当面对这种需要时,应该仔细分析。如果您最终需要这样的方法,建议使用盐渍键方法。
hbase支持全局计数器(增量操作),可以用来生成序列。但是,这些不能原子地用于为正在添加的行生成键值(必须递增并获取值,然后放入新行)。因此,如果后续put失败并且有2个RPC,则可以获得间隙。
当我们以这种方式使用计数器时,我们使用盐渍键,接受可能出现的间隙,并按块递增,以避免对每个需要的键使用rpc。

相关问题