我是hbase的新手。需要帮助,我在hbase中有一个包含一些数据的表。
Id Name Address 1 john XX-XX 2 mike XXX-XX
以及 Id 应该自动递增。现在我必须将数据插入表中,就像插入10条记录一样 Id 应该增加到12
Id
Id Name Address 1 john XX-XX 2 mike XXX-XX 3 foo XXXX ... ... 12 booo xxx
可以考虑hbase中的序列发生器。有人能帮我写代码吗。
c0vxltue1#
hbase没有序列生成器。正如sergey评论的那样,不建议使用序列作为行键。当面对这种需要时,应该仔细分析。如果您最终需要这样的方法,建议使用盐渍键方法。hbase支持全局计数器(增量操作),可以用来生成序列。但是,这些不能原子地用于为正在添加的行生成键值(必须递增并获取值,然后放入新行)。因此,如果后续put失败并且有2个RPC,则可以获得间隙。当我们以这种方式使用计数器时,我们使用盐渍键,接受可能出现的间隙,并按块递增,以避免对每个需要的键使用rpc。
1条答案
按热度按时间c0vxltue1#
hbase没有序列生成器。正如sergey评论的那样,不建议使用序列作为行键。当面对这种需要时,应该仔细分析。如果您最终需要这样的方法,建议使用盐渍键方法。
hbase支持全局计数器(增量操作),可以用来生成序列。但是,这些不能原子地用于为正在添加的行生成键值(必须递增并获取值,然后放入新行)。因此,如果后续put失败并且有2个RPC,则可以获得间隙。
当我们以这种方式使用计数器时,我们使用盐渍键,接受可能出现的间隙,并按块递增,以避免对每个需要的键使用rpc。