Как использовать несколько столбцов AND для фильтрации строки в hbase?

Такой сценарий: в таблице hbase есть разные столбцы для разных строк, например: row1 имеет столбцы fm:a, fm:b, fm:c row2 имеет столбцы fm:a, fm:d

Поэтому я хочу использовать сканирование, чтобы проверить, есть ли в строке оба столбца fm: a и fm: b, если да, верните эту строку, иначе эта строка не должна возвращаться в результате сканирования. В приведенном выше случае я просто хочу вернуть строку1.

Я проверяю фильтры в hbase, похоже, если сделать это на уровне фильтра, производительность будет плохой. Любые идеи?


person xmurobi    schedule 06.11.2011    source источник


Ответы (1)


вам нужно добавить каждый столбец в сканирование - вот так. Создайте хеш-таблицу, скажем, ht

for each columnFamily in ht:
   { for each column in columnFamily:
     { scan.addColumn(Bytes.toBytes(columnFamily), Bytes.toBytes(column)); }
   }
person Amit    schedule 22.05.2012