2016-12-19 6 views
0

Я делал сканирование с использованием startRowKey и StopRowKey в HBase-сканировании с использованием оболочки HBase, но вывод, который я получаю, находится за пределами пройденного диапазона. Пожалуйста, обратитесь к Hbase Query -Hbase Scan возвращает данные за пределы диапазона

import org.apache.hadoop.hbase.filter.CompareFilter 
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter 
import org.apache.hadoop.hbase.filter.SubstringComparator 
import org.apache.hadoop.hbase.util.Bytes 


scan 'TableName',{ LIMIT => 2 , STARTROW => '000|9223370554721275807', STOPROW => '101|9223370554727575807', FILTER => SingleColumnValueFilter.new(Bytes.toBytes('col_family'), Bytes.toBytes('col_qualifier'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('Some Value')), COLUMNS => 'col_family:col_qualifier', REVERSED => false} 

Но из того, что получено вне этого диапазона -

016 | 9223370554960173487

021 | 9223370555154148992

Пожалуйста, дайте мне знать, мой поисковый запрос правильно или что может быть основной причиной этого? Любая помощь будет действительно оценена.

Благодаря

ответ

1

Если поставить четыре rowkeys упомянутые в вашем вопросе в файле и сортировать их результат будет:

000|9223370554721275807 
016|9223370554960173487 
021|9223370555154148992 
101|9223370554727575807 

Таким образом, значения, которые вы получили не вне диапазона сканирование.