2016-11-15 13 views
0

Как получить строки, которые заканчиваются определенным значением в Hbase? Например, у меня есть ниже rowskeys в моей таблицеКак получить строки, заканчивающиеся на определенное значение из hbase с использованием оболочки hbase

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

Теперь мне нужно все строки, заканчивается с V1. В этом примере я должен получить D1, D2 и D4.

Может кто-нибудь подскажет, как добиться этого в Hbase

ответ

0

Я достиг его, используя ниже:

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