【问题标题】:Map-reduce comparing latest and earliest valuesMap-reduce 比较最新和最早的值
【发布时间】:2013-11-24 23:44:57
【问题描述】:

我的架构类似于:

{
  id: 1,
  pid: 1,
  batch: 1,
  count: 2,
}

{
  id: 2,
  pid: 1,
  batch: 2,
  count: 4,
}

{
  id: 3,
  pid: 1,
  batch: 3,
  count: 6,
}

我想编写一个 map-reduce 函数来返回最近批次和最早批次的计数之间的增量差。

使用上面的数据,这将返回如下内容:

pid: 1, diff: 4

关于如何解决这个问题的任何想法?我正在使用 Mongo,但如果有一个有效的 Java/Hadoop 示例,我会很乐意接受它。

【问题讨论】:

    标签: mongodb mapreduce


    【解决方案1】:

    您可以尝试以下算法:

    地图

    输入:K1 = "文件偏移量", V1 = Jason Object

    输出:K2 = "pid : 1", V2 = "count: 2"

    减少

    输入:K2 = "pid: 1", V2 列表 ("count : 2, count : 4, count : 6")

    输出:K3 = "pid: 1", V3 : "(V2 的最大值减去 V2 的最小值)"

    在模式中假定计数对于给定的批次系列总是递增的。如果不是,那么您可以将“批次”添加到该值中。

    V2="批次:1,计数:2"。

    V3 = "最大批次计数减去最小批次计数"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 2018-06-27
      • 1970-01-01
      • 2018-07-16
      • 2021-11-03
      • 2020-11-06
      • 1970-01-01
      相关资源
      最近更新 更多