Java 如何为Mapreduce设计键值对以查找集合中的最大值?

Java 如何为Mapreduce设计键值对以查找集合中的最大值?,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我是MapReduce程序员的初学者。你能帮我设计以下问题的键值对吗 问题陈述-找到最大值并将其与密钥一起打印 输入: Key Value ABC 10 TCA 13 RTY 23 FTY 45 左侧列上的键将是唯一的。不允许重复 输出: FTY 45 因为45是所有值中的最高值,所以它必须与键一起打印 你能帮我设计地图和缩小功能吗?这两个函数的键值对是什么?在mapper中,记住最大

我是MapReduce程序员的初学者。你能帮我设计以下问题的键值对吗

问题陈述-找到最大值并将其与密钥一起打印

输入:

   Key       Value
   ABC       10
   TCA       13
   RTY       23
   FTY       45
左侧列上的键将是唯一的。不允许重复

输出:

   FTY       45
因为45是所有值中的最高值,所以它必须与键一起打印


你能帮我设计地图和缩小功能吗?这两个函数的键值对是什么?

在mapper中,记住最大的数字

class Mapper {
   V maxV;
   K maxK;

   map(K, V, context) {
      if (V > maxV) { maxV = V; maxK = K; }
   }

   cleanup(context) {
      context.store(maxK, maxV)
   }
}

在减速器中也要这样做。将作业配置为只有一个减速机。

您能发布任何用于清理和存储上下文对象的参考代码吗?我找不到这些方法的任何实现。@MonamiSen-看看基本实现:。您应该扩展这个类,并使用基于这个答案的代码覆盖map和cleanup方法。