最近学习了hbase协处理器,我用endpoint累加了hbase表的一列。比如hbase表名为“pendings”,它的family是“asset”,我累加了“asset:amount”的所有值。该表还有其他列,例如“asset:customer_name”。我要做的第一件事是按“asset:customer_name”累积“asset:amount”组的值。但是我发现groupby没有API,或者我没有找到。你知道如何实现GROUPBY或者如何使用HBASE提供的API吗?
最佳答案
您应该使用端点来完成这项工作。
您在本文中有一个求和示例:https://blogs.apache.org/hbase/entry/coprocessor_introduction .
您基本上需要添加的是附加您的行键和客户名称以形成您的新键“MyKey”。您应该保留最后一次看到的 MyKey 的变量,当当前 MyKey 与前一个不同时,您应该发出前一个 MyKey 及其总和,并将前一个 MyKey 覆盖为当前 MyKey。
您必须确保像 URL 中提供的示例中那样在客户端执行聚合,因为您的客户可能位于两个不同区域的边缘。
关于group-by - 如何使用hbase协处理器实现groupby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14063658/