【发布时间】:2019-03-05 08:25:58
【问题描述】:
我有一个 HBase 表,伙计。我正在使用 ColumnPrefixFilter 和 SingleColumnValueFilter 从 HBase 表中获取详细信息
假设,我有如下条目-
ROW_KEY COLUMN+CELL
p1 column='attr:id',value=p1_03
p1 column='details:name_1',value=xyz
p2 column='attr:id',value=p2_04
p2 column='details:name_2',value=xyz
我需要获取名称为 xyz 且 id 为 p1_03 的 row_key。尝试了以下查询,但结果是两个行键。
scan 'person', {FILTER=>"SingleColumnValueFilter('attr','id',=,'binary:p1_03') AND (ColumnPrefixFilter('name') AND ValueFilter(=,'xyz'))"}
输出:
ROW COLUMN+CELL
p1 column='details:name_1',value=xyz
p2 column='details:name_2',value=xyz
我只需要获得一个行键p1
【问题讨论】:
-
如果你只是申请
SingleColumnValueFilter呢? -
@BenWatson Column name 是自动递增的,这意味着对于 row_key p1 我们可以有许多列 name_1, name_2...name_n, I不知道 xyz 在哪里。所以,我选择了 ColumnPrefixFilter
-
我的观点是:每个过滤器是否单独按照您的预期执行?把你的问题分解成更小的问题,看看错误到底出在哪里。
标签: hbase hbase-shell