【问题标题】:How to use hbase coprocessor to implement groupby?如何使用hbase协处理器实现groupby?
【发布时间】:2012-12-28 01:59:24
【问题描述】:

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

【问题讨论】:

    标签: group-by hbase endpoint


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-08-03
        • 2020-04-05
        • 2018-12-07
        • 2013-01-10
        • 2022-11-02
        • 1970-01-01
        • 1970-01-01
        • 2014-11-14
        • 1970-01-01
        相关资源
        最近更新 更多