我需要根据特定列的值中的子字符串对HBase数据库中的行进行分组。
该列中的值格式如下:
[text1]_[text2]_[text3]
示例:
row1: abc_aaa_ababab
row2: abc_aaa_cdcdcd
row3: abc_bbb_fgfgfg
row4: def_ccc_ababab
row5: hij_ccc_jkjkjk
如何列出[text2]的所有可能值(例如aaa,bbb和ccc)?
我没有必要一次性检索每一行的所有列。向用户呈现各种[text2],并且当他选择“bbb”时,仅检索具有“bbb”的行。我想我可以使用FuzzyRowFilter来完成后一部分。
但我不确定如何列出[text2]的值。可以通过使用现有的过滤器,可能是自定义过滤器或不同的方法来完成吗?
注意:数据库架构是由客户创建的 - 可能会更改它,但这是一个繁琐的过程。因此,重新设计模式的建议很有价值,但与使用概述的模式相比是次要的。
答案 0 :(得分:0)
使用此架构的效率非常低,因为每次搜索都需要全表扫描。
我会添加一个表格,其中包含所有可能的子字符串到行ID的映射