我想过滤掉所有没有特定列的行。你知道用哪个比较仪吗?
os8fio9y1#
singlecolumnvaluefilter具有方法 setFilterIfMissing 如果给定列,则排除不包含该列的所有行 true . 所需要的是设计过滤器,使它总是传递和调用 setFilterIfMissing(true) ```SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes(columnFamily), Bytes.toBytes("column_name"), CompareFilter.CompareOp.NOT_EQUAL, Bytes.toBytes("non-sense"));filter.setFilterIfMissing(true);scan.setFilter(filter);
setFilterIfMissing
true
setFilterIfMissing(true)
n8ghc7c12#
可以将跳过筛选器与限定符筛选器结合使用。如果使用java客户端api:
Filter filter = new QualifierFilter(CompareFilter.CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("column-name"))); Filter filter2 = new SkipFilter(filter); scan.setFilter(filter2);
这将返回没有该特定列的所有行
2条答案
按热度按时间os8fio9y1#
singlecolumnvaluefilter具有方法
setFilterIfMissing
如果给定列,则排除不包含该列的所有行true
. 所需要的是设计过滤器,使它总是传递和调用setFilterIfMissing(true)
```SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes(columnFamily), Bytes.toBytes("column_name"), CompareFilter.CompareOp.NOT_EQUAL, Bytes.toBytes("non-sense"));
filter.setFilterIfMissing(true);
scan.setFilter(filter);
n8ghc7c12#
可以将跳过筛选器与限定符筛选器结合使用。如果使用java客户端api:
这将返回没有该特定列的所有行