提高hbase查询性能

sxissh06  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(541)

我有一个庞大的hbase表,大约有5亿行,大约有100列(每行不同)的数据。
我想根据任何列限定符值,尽快查询这个数据。
我知道当我们知道行键时,hbase是为快速读取而优化的,但是我想基于不同的列值进行查询。但是应用列过滤器(使用javaapi)会导致全表扫描,这会减慢系统的速度
我有什么选择?
索引:每行中的列都会更改。我还能做索引吗?
我是否继续使用hbase存储数据?或者与solr或elasticsearch一起使用?
对于基于任何可能有10亿行的列值的随机查询,我能期望什么样的性能?
欢迎提出任何其他建议。

hk8txs48

hk8txs481#

在hbase中,从行键获取数据很快,但由于值没有索引,因此使用值筛选器进行查询很慢。如果要索引的列数较少,可以考虑使用反向表索引。
但是如果你想要更多的东西,比如多条件查询,你应该看看elasticsearch,使用它只存储列上的索引,并将数据保存在hbase中。不要忘记使用“\u source”:{“enabled”:false}禁用源存储创建索引时,所有数据都已在hbase中,不要浪费硬盘:)

相关问题