количество строк, вставленных в таблицу в накоплении

Я вставил несколько строк в таблицу в Accumulo. Некоторые строки создаются заново, а некоторые строки обновляются.

Как я могу найти количество строк, которые были вставлены или обновлены в накопительную таблицу в Java?

def obj= jsonObject["obj"]
for(entry in obj) {
                String a = entry["a"];
                String b = entry["b"];
                String c = entry["c"];
                String d = entry["d"];
                String e = entry["e"];

                ColumnVisibility cv = new ColumnVisibility(d);
                Mutation m = new Mutation(a);
                m.put(b, c, cv, e)
                bw.addMutation(m);
                count++;
            }

Это то, что делается в настоящее время, и подсчет считается количеством записей, записанных в таблицу. Но если вставлены только некоторые новые записи/строки, а остальные должны быть обновлены, количество не может рассматриваться как новые записи, введенные в таблицу.


person sashmi    schedule 27.04.2015    source источник
comment
пожалуйста, добавьте больше деталей, что вы пробовали до сих пор, и где именно вам нужна помощь,   -  person swiftBoy    schedule 28.04.2015


Ответы (1)


Начиная с Accumulo 1.6.x (последняя на момент публикации) общедоступного API для подсчета количества строк или отдельных записей в таблице не существует. Если бы сохранение счетчиков было встроенной функцией, это добавило бы немного накладных расходов и было бы очень сложно реализовать, учитывая, что итераторы на стороне сервера могли бы изменять эти счетчики во время сжатия.

Таким образом, лучшее, что дает Accumulo, — это оценки количества записей в таблице (только записей, а не строк).

Если требуется подсчет строк, эта функциональность должна быть добавлена ​​на уровне приложения. Справку можно получить в списке рассылки пользователей.

person Christopher    schedule 28.04.2015