Подсчитайте количество строк, возвращаемых пакетным сканером Accumulo - PullRequest
0 голосов
/ 01 ноября 2018

Я хотел бы знать, существует ли эффективный способ подсчета количества строк, возвращаемых пакетным сканером в Accumulo, без необходимости вручную перебирать все возвращенные строки.

То, что у меня сейчас есть, примерно так

Connector connector = // Created a new connector
BatchScanner bsc = connector.createBatchScanner(tableName, Authorizations.EMPTY, numThreads);
/*
... applying filters
*/

Iterator<Map.Entry<Key, Value>> e = bsc.iterator();
long cnt = 0;

while(e.hasNext()) {
     cnt++;
}

return cnt;

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

1 Ответ

0 голосов
/ 01 ноября 2018

В целом ( Каков наилучший способ получить число / длину / размер итератора? ), вы не сможете сделать это быстрее, так как ваш фильтр может быть чем угодно и, следовательно, где-то вам придется подсчитать.

Существуют и другие способы ( Ведение статистики по строкам в количестве ), в которых вы можете отслеживать счетчики, но они могут создать новые головные боли для вас.

...