Сканирование префикса строки HBASE в обратном порядке в hbase

У меня есть ключ строки формы:

<name>--<zero-padded timestamp>

Используя оболочку HBASE, я хочу найти последние 15 записей с префиксом .

scan 'mytable', {LIMIT => 15, ROWPREFIXFILTER => 'name' }

Дает мне первые 15, но:

scan 'mytable', {LIMIT => 15, REVERSED => TRUE, ROWPREFIXFILTER => 'name'}

возвращает нулевой результат...

Каков синтаксис такого запроса?

Возможно ли это, или мне нужно сделать что-то дрянное, например, использовать MAXINT-timestamp в качестве моего ключа строки, чтобы вручную изменить порядок ключей?


person tanbog    schedule 29.09.2016    source источник
comment
какая версия HBase? Можете ли вы показать нам некоторые примеры данных из вашей таблицы?   -  person Marsellus Wallace    schedule 29.09.2016
comment
ВЕРСИЯ 1.2.2. Данные — это просто записи в журнале. Я хочу вытащить их в обратном порядке временных меток, вот и все.   -  person tanbog    schedule 01.10.2016


Ответы (2)


Я могу выполнить вашу команду запроса в среде оболочки HBase и получить ожидаемый результат. Но не удалось получить никакого результата, выбрасывая Java-клиент. Моя версия HBase 0.98.

Существует ошибка при использовании сканирования клиента HBase с reverse = true, см. эту проблему jira hbase-client: сканер с reversed=true и small=true не дал результата

person Armstrongya    schedule 18.10.2016

Да, я воспроизвел эту проблему, и мой результат был таким же.

Обходной путь, который я использовал, состоял в том, чтобы изменить ROWPREFILTER на STARTROW и ENDROW.

person Quinton Hsu    schedule 25.01.2019