简体   繁体   English

如何使用HBase Shell从HBase获取以特定值结尾的行

[英]How to fetch rows ending with specific value from hbase using hbase shell

How to fetch rows that ends with specific value in Hbase? 如何在Hbase中获取以特定值结尾的行? For example I have below rowskeys in my table 例如,我的表中有下面的行键

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

Now I need all rows that ends with V1. 现在,我需要所有以V1结尾的行。 In this example I should get D1,D2 and D4. 在此示例中,我应该得到D1,D2和D4。

Can some one suggest how to achieve this in Hbase 有人可以建议如何在Hbase中实现吗

I achieved it using below: 我使用以下方法实现了它:

   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"))}

and through Java 并通过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);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM