rowkey做了散列之后批量查询效率很低,有什么好的解决方法?

rowkey是ip,通过算md5截取并拼接原ip组成。
现需求查询一批连续的ip,大概有几十万个。
get,get<List>感觉效率都好低,请教有什么解决办法么?
已邀请:

libis - HBase爱好者

赞同来自: qk3z

个人能想到的办法只有客户端多开一些线程去执行get,好像没有什么特别好的办法。离散之后对于连续ip的查找,缓存利用率上不来,每次get都需要重新构建查找体系。

hmaster

赞同来自: qk3z

1、多线程去get是一个思路。
2、另外一个想法,不知道适合不适合你的业务。
ip 大概分为4个段,比如a.b.c.x
x 为:0-255. 不知道你的数据量有多大?
如果不是很大的话。看看是不是可以md5(a.b.c)+a.b.c.d
这样的话,a.b.c.x  x网段的连续都在一块的。
可以一次get或者scan 出来。。。。
如查询某个ip就get()
查询0-255段ip就scan(md5(a.b.c)+a.b.c.0,md5(a.b.c)+a.b.c.256)
 
上面2个可以结合

要回复问题请先登录注册