我有一个hbase表,其中包含客户的联系信息。该表包含大约700k行。我有一个脚本,它必须查询customers表以查找2000-3000记录的匹配项。每次扫描大约需要1秒才能完成。因此,2000年的记录需要33分钟才能完成。我想知道我是否可以改善这种表现。我试过设置缓存但它没有帮助。这是详细信息。 客户表上只有一个列族,客户ID是行键。我的查询看起来像这样。
SingleColumnValueFilter(' internal',' country',=,' binary:GB')AND SingleColumnValueFilter(' internal',' postcode',=,' binary:W24RT')AND SingleColumnValueFilter(' internal',' street',=, '二进制:bayswaterroad&#39)
我如何改善表现?
答案 0 :(得分:1)
当您根据查询要求设计行密钥时,Hbase会带来最佳性能。当您基于该行键进行搜索时,您最终会花费最少的时间。因此,一个选项是优化行键。
此外,您还包括3个列值过滤器,因此对于每次扫描,它的查找次数为3次。
您可以添加与排除不匹配行相关的更多选项。