Сканировать таблицу с несколькими фильтрами rowkey в hbase

Я пробовал с одним ключом строки, он работает нормально, но я не могу получить сканирование нескольких ключей строки.

scan 'LPV',{FILTER =>"(PrefixFilter('174','194')"}

получая ошибку, найдите Фильтр для поддержки сканирования нескольких диапазонов ключей строк, но не нашли это возможно или нет? Я хочу получить несколько записей на основе нескольких ключей строк. Любая помощь, спасибо.


person Aashu    schedule 09.08.2014    source источник


Ответы (2)


Вам просто нужно ИЛИ два PrefixFilter, как в

scan 'LPV',{FILTER =>"(PrefixFilter('174') OR PrefixFilter('194')"}
person Arnon Rotem-Gal-Oz    schedule 10.08.2014

Я не уверен, что в оболочке Hbase есть решение для множественного фильтра префиксов. Но вы можете написать скрипт для выполнения нескольких префиксных фильтров один за другим. например, введите свои префиксы ключей в файл a1.txt построчно;

a1.txt
-------
pref1
pref2
pref3

затем запустите скрипт вроде (я не очень хорошо разбираюсь в сценариях оболочки. вы можете сделать лучше)

cat a1.txt | while read LINE; do echo "scan 'LPV',{FILTER=>\"PrefixFilter('$LINE')\"} " | hbase shell;done
person ozhang    schedule 10.08.2014