【问题标题】:Calculate Average Count Using MapReduce in HBase在 HBase 中使用 MapReduce 计算平均计数
【发布时间】:2014-07-19 17:58:46
【问题描述】:

我有一个名为Log 的表,其中每一行都代表一个活动,并且具有这样的表结构

信息:日期,信息:ip_address,信息:操作,信息:信息

数据的例子是这样的

列族:信息
日期 | ip_address |行动 |信息
2014 年 3 月 3 日 | 191.2.2.2 |删除 |废话
2014 年 3 月 4 日 | 191.2.2.3 |查看 |废话
2014 年 3 月 5 日 | 191.2.2.4 |创建 |废话
2014 年 3 月 3 日 | 191.2.2.5 |删除 |废话
2014 年 3 月 4 日 | 191.2.2.5 |创建 |废话
2014 年 3 月 4 日 | 191.2.2.6 |删除 |废话

我想做的是根据时间计算活动总数的平均值。首先要做的是根据时间计算总活动:

时间 |总活动
2014 年 3 月 3 日 | 2
2014 年 3 月 4 日 | 3
2014 年 3 月 5 日 | 1

然后,我想计算输出将像这样表示的 total_activity 的平均值

(2 + 3 + 1) / 3 = 2

如何在 HBase 中使用 MapReduce 做到这一点?我已经在考虑只使用一个 reducer 就能够根据时间计算活动总数。

谢谢

【问题讨论】:

    标签: hadoop map hbase reduce


    【解决方案1】:

    建议您研究一下 Scalding - 这是编写生产 Hadoop 作业的最简单和最快的方法,可以轻松地与 HBase 和其他东西相关联。这是一个帮助 HBase 和 Scalding 的项目https://github.com/ParallelAI/SpyGlass/blob/master/src/main/scala/parallelai/spyglass/hbase/example/SimpleHBaseSourceExample.scala

    然后看看 Scalding API 以了解如何做你想做的事: https://github.com/twitter/scalding/wiki/Fields-based-API-Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      相关资源
      最近更新 更多