3

最近学了hbase协处理器,我用endpoint来累积hbase表的一列。比如名为“pendings”的hbase表,它的族是“asset”,我把“asset:amount”的值全部累积起来。该表还有其他列,例如“asset:customer_name”。我要做的第一件事是通过“asset:customer_name”累积“asset:amount”组的值。但是我发现没有groupby的API,或者我没有找到。你知道如何实现 GROUPBY 或者如何使用 HBASE 提供的 API 吗?

4

2 回答 2

2

您应该使用端点来完成这项工作。

您在本文中有一个总结示例:https ://blogs.apache.org/hbase/entry/coprocessor_introduction 。

您基本上需要添加的是附加您的行键和客户名称以形成您的新键“MyKey”。您应该保留最后一次看到的 MyKey 的变量,并且当当前的 MyKey 与前一个不同时,您应该发出前一个及其总和并将前一个 MyKey 覆盖为当前的。

您必须确保在客户端执行聚合,就像在 URL 中提供的示例中所做的那样,因为您可能在两个不同区域的边缘有一个客户。

于 2013-02-25T16:41:28.883 回答
0

使用端点协处理器可以做到。你要做的就是:首先定义相关的接口(减少)协议扩展 CoprocessorPotocol,然后实现它,最后编写客户端逻辑。

于 2013-06-07T02:29:42.820 回答