[英]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.