如何通过 Accumulo 代理客户端基于 rowkey 删除 Accumulo 中的记录

How to delete records in Accumulo based on an rowkey via Accumulo proxy client

我正在使用 Accumulo 1.6 并希望通过在 nodejs 中通过 accumulo 代理客户端提供行键来删除一些记录。

但是代理客户端抛出 "start row must be less than end row" 当我试图将相同的 rowkey 放入 deleteRows API

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

更新: 假设有一个 table 看起来像:

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

如果我想删除rowID等于1的所有行,应该给deleteRows函数传递什么参数? 我尝试通过 1 开始和结束,但它抱怨

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

然后我尝试传递 start = 1end = 1[=14=] 以确保开始小于结束,但没有发生任何事情,没有抛出错误,没有删除行。 我认为由 deleteRows 的开始是排除和结束是包含引起的。所以我对如何删除一条记录(哪些行具有相同的 rowID)感到困惑。

对于我的情况,使用 (char - 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);