使用QualifierFilter只会返回匹配的列

时间:2015-05-22 15:54:18

标签: java hbase

如果我应用任何其他类型的过滤器,我的扫描默认返回所有列。如果我使用QualifierFilter,则只返回过滤器匹配的列。我甚至尝试了scan.addFamily并明确添加了scan.addColumn,但没有返回其他列。有没有办法在根据QualifierFilter进行匹配时获取所有列。

我的代码看起来像这样

FilterList filters = new FilterList();
filters.addFilter(new QualifierFilter(CompareOp.LESS_OR_EQUAL, new BinaryComparator(b(tsToKey(start)))));
filters.addFilter(new QualifierFilter(CompareOp.GREATER_OR_EQUAL, new BinaryComparator(b(tsToKey(end)))));
filters.addFilter(new PageFilter(MAX_ROWS));

Scan scan = new Scan();
scan.setFilter(filters);
scan.addFamily(getFamily()); // doesnt helps

扫描结果仅包括具有与过滤器匹配的时间戳的列。我在此表中有其他静态列,这些列不会被此扫描返回。

1 个答案:

答案 0 :(得分:0)

QualifierFilter专门用于根据列限定符进行过滤。所以它正在发挥作用。 :)请正确添加您的要求。