如何通过 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 = 1
和 end = 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);
我正在使用 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 = 1
和 end = 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);