hbase筛选器以查找没有特定列的行

mlmc2os5  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(600)

我想过滤掉所有没有特定列的行。你知道用哪个比较仪吗?

os8fio9y

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);

n8ghc7c1

n8ghc7c12#

可以将跳过筛选器与限定符筛选器结合使用。如果使用java客户端api:

Filter filter = new QualifierFilter(CompareFilter.CompareOp.EQUAL,new BinaryComparator(Bytes.toBytes("column-name")));
Filter filter2 = new SkipFilter(filter);
scan.setFilter(filter2);

这将返回没有该特定列的所有行

相关问题