分享

求教如何快速得出rowkey的最大值和最小值

paololiu 发表于 2016-4-22 13:38:39 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 18003
我们知道hbase的rowkey顺序排序的,那除了全扫描scan的方式怎么能够快速得出rowkey的最大值和最小值呢,就像针对rdbms索引的max和min一样

已有(5)人评论

跳转到指定楼层
leo_1989 发表于 2016-4-22 15:34:33
这个应该看怎么优化了。
同一个数据库,优化的好,查询的快,优化的不慢,肯定慢了。
个人认为:
如果rowkey都是有序的,只需要统计出每个region 的最大值和最小值。


回复

使用道具 举报

wscl1213 发表于 2016-4-22 16:07:58
hbase0.98版本之后的Scan支持setReversed()函数。这个函数可以从后往前地扫描数据。
https://issues.apache.org/jira/browse/HBASE-4811
扫描时设置的startRow和stopRow必须正好反过来。
楼主可以利用正扫描和反扫描,获取就很快了

回复

使用道具 举报

IT_雪夜归人 发表于 2016-4-22 17:26:18
有API可以获取hbase所有Region的信息和Region的起始rowkey
回复

使用道具 举报

paololiu 发表于 2016-4-22 17:50:35
IT_雪夜归人 发表于 2016-4-22 17:26
有API可以获取hbase所有Region的信息和Region的起始rowkey

能告诉下是哪个包吗。我是用python的,是否也有相似的接口
回复

使用道具 举报

IT_雪夜归人 发表于 2016-4-25 14:15:39
paololiu 发表于 2016-4-22 17:50
能告诉下是哪个包吗。我是用python的,是否也有相似的接口

java的有,Python的不太了解,感觉应该也有吧,这么基础的接口。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条