Префикс HBaseFilter работает с startRow и PageFilter
В Hbase у меня есть rowkey, как это: userId:timestamp:objectId. Я пытаюсь создать такой метод:
public List<Object> getObjectList(String userId, String startrowA, int limit)
Я хочу получить записи с префиксом userId, а также иметь подкачку (startrow+limit).
Так как же мне использовать prefixFilter, pageFilter для этого? Спасибо
1 ответ
Если я правильно понял ваш вопрос, вы можете попробовать использовать FilterList
Класс и добавить к нему несколько фильтров, которые в совокупности позволят вам достичь того, что вы ищете. Попробуйте добавить следующие фильтры к вашему FilterList
:
KeyOnlyFilter()
: сканировать только строки, а не столбцы (чтобы сделать это быстрее)
FirstKeyOnlyFilter()
: так же, как и выше, используйте оба
PrefixFilter(prefix)
это ваш префикс
PageFilter(N)
: вернуть только N строк
Кроме того, убедитесь, что вы установили правильную настройку условия (т.е. должны ли быть выполнены все эти условия или некоторые из них). Чтобы заставить их всех встретиться, используйте FilterList.Operator.MUST_PASS_ALL