如何使用hbase shell从hbase获取以特定值结尾的行

e5njpo68  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(447)

如何在hbase中获取以特定值结尾的行?例如,我的表中有下面的行

D1|V1
   D2|V1
   D3|V2
   D4|V1

现在我需要所有以v1结尾的行。在这个例子中,我应该得到d1,d2和d4。
有人能建议如何在hbase中实现这一点吗

2exbekwf

2exbekwf1#

我是通过以下方法实现的:

import org.apache.hadoop.hbase.filter.CompareFilter
   import org.apache.hadoop.hbase.filter.SubstringComparator
   scan 'tableName', {FILTER => org.apache.hadoop.hbase.filter.RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'),SubstringComparator.new("SubString"))}

通过java

FilterList filterList = new FilterList(Operator.MUST_PASS_ONE);
    List<String> referenceList = new ArrayList<String>();
    ResultScanner results = null;
    String substr= "V1";
    RowFilter rowfilter = new RowFilter(CompareOp.EQUAL, new SubstringComparator(substr));
    filterList.addFilter(rowfilter);
    Scan prefilterScan = new Scan();
    prefilterScan.setFilter(filterList);

相关问题