gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 00:57:16 25 4
gpt4 key购买 nike

我正在使用 Accumulo 1.6,并且希望通过 Nodejs 中的 Accumulo 代理客户端给定的 rowkey 来删除一些记录。

但是当我尝试将相同的行键放入deleteRows API 时,代理客户端抛出“起始行必须小于结束行”

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

更新:假设有一个表如下所示:

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\0 以确保 start 小于 end,但什么也没发生,没有抛出错误,没有删除行。我认为这是由删除行的开始是排除和结束是包括引起的。所以我对如何删除一条记录(哪些行具有相同的 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);

关于node.js - 如何通过 Accumulo 代理客户端基于 rowkey 删除 Accumulo 中的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29175644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com