Префикс 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

Другие вопросы по тегам