gpt4 book ai didi

hadoop - 如何使用 mapreduce 程序获取输入文件中的最后一个字数

转载 作者:可可西里 更新时间:2023-11-01 15:05:14 24 4
gpt4 key购买 nike

谁能说出在一个简单的字数统计程序中需要做哪些修改才能使用 map reduce 从文件中获取最后一个字数。

如果输入文件是

hai hello world
hello world java
hadoop world hai
hello hai java

Expected o/p : world 3

因为 'world' 将是排序后的最后一个键。

感谢任何帮助

最佳答案

一种可用的简单方法。不需要显式排序。

假设您正在运行一个reducer。您可以重写 reducer 类中的 cleanup() 方法。

reducer 中使用 cleanup() 方法在 reduce 任务结束时执行内务处理事件。

但是你可以利用它。因为 cleanup() 方法只会在 reduce 任务之后执行一次。

在您的 reduce 任务结束时,您将只持有最后一个键值对。现在,不是从 reduce() 方法发出输出,而是从 cleanup() 方法发出它。

您只能将 context.write() 保留在 cleanup() 中。

@Override
protected void cleanup(Context context){

context.write(//keep your key-values here);
}

我相信这可以毫不费力地完成您的工作,您将通过使用以上 3 行代码立即获得所需的结果。

关于hadoop - 如何使用 mapreduce 程序获取输入文件中的最后一个字数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32581953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com