如何在HBase中存储和查询范围数据?

时间:2016-05-10 19:54:23

标签: java hadoop solr hbase

目前,我在Solr中存储Ip映射数据,它有点像这样:

Ip-From
Ip-To
Country

这形成了一条记录(文档。)当我获取IP作为输入时,我查询Solr以找出它所属的区域(国家)。查询是直接的 - ip> = ipFrom和ip< = ipTo。响应时间非常短(好),但仍不符合我们的要求。无法将这些数据缓存在内存中,因为它非常庞大。

因此,我在考虑为这类数据使用其他存储空间。 HBase是否合适,如果是,那么存储和查询此类数据的理想方式是什么?

1 个答案:

答案 0 :(得分:3)

我的理解:您希望传递Ip(来自或来自),并且您希望查找特定于此的国家/地区。

是。如果要将Hbase用作数据存储,则在Hbase中存储数据并使用filters进行查询。

根据我的经验,Solr搜索速度比Hbase快,可以使用NRT或Batch索引器(如果您使用的是CDH)或其他工具来索引Hbase数据。

此外, Whitefret 引起了关注(这听起来对我很合乎逻辑)。以及 ipfrom ipto 国家,如果您在solr中存储其他内容,那么hbase可以为您服务。否则不需要像Hbase那样的中间存储,你需要重新访问你的solr配置。