2015-03-20 4 views
1

Я использую Accumulo 1.6 и хочу удалить некоторые записи с помощью дающего rowkey с помощью клиентского proxy-клиента в nodejs.Как удалить записи в Accumulo на основе rowkey с помощью прокси-сервера Accumulo

но прокси-клиент броска «начало строки должно быть меньше, чем конец строки», когда я пытаюсь поставить такую ​​же RowKey в API DeleteRows

var rowId = "1"; 
var proxyClient = getAccumuloProxyClient(); 
proxyClient.deleteRows(getLogin(), TABLE_NAME, rowId, rowId, callback); 

UPDATE: Допустим, есть таблица выглядит :

rowID | columnFamily | columnQualifier 
1  name   John 
1  age   25 
1  department  sales 
2  name   Lisa 
2  age   25 
2  department  sales 

Какие параметры следует передать функции deleteRows, если я хочу удалить все строки rowID равными 1? Я попытался пройти от 1 до начала и конца, но жалуются

"org.apache.accumulo.core.client.AccumuloException: start row must be less than end row" 

я попытался передать start = 1 и end = 1\0, чтобы убедиться, что начать меньше, чем конец, но ничего не случилось, не бросил никаких ошибок, ни одна строка не удаляется. Я думаю, что причиной, вызванной запуском, является исключение, а end - для deleteRows. Поэтому я смущен тем, как удалить одну запись (какие строки имеют один и тот же rowID).

+0

Какова конкретная версия Accumulo вы используете – elserj

+0

@elserj Я просто используя 1.6.0 – Gary

+0

I? Первоначально предполагалось, что вы можете попасть в ACCUMULO-1994, но, похоже, не указано fixVersion – elserj

ответ

1

для моего случая с использованием (полукокс - 1 в начале строки решить мою проблему:

var startRowId = rowId.substring(0, rowId.length - 1) + String.fromCharCode(rowId.charCodeAt(rowId.length - 1) - 1); 
proxyClient.deleteRows(getLogin(), TABLE_NAME, startRowId, rowId, callback); 

 Смежные вопросы

  • Нет связанных вопросов^_^