Hbase Scan возвращает данные вне диапазона
Я выполнял сканирование с использованием startRowKey и StopRowKey при сканировании HBase с использованием оболочки HBase, но вывод, который я получаю, выходит за пределы пройденного диапазона. Пожалуйста, обратитесь к Hbase Query -
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 ответ
Если вы поместите четыре строки, упомянутые в вашем вопросе, в файл и отсортируете их, результат будет:
000|9223370554721275807
016|9223370554960173487
021|9223370555154148992
101|9223370554727575807
Таким образом, полученные вами значения находятся за пределами диапазона вашего сканирования.