gpt4 book ai didi

hadoop - 按键然后按值对 Mapper 输出进行排序

转载 作者:可可西里 更新时间:2023-11-01 14:38:59 25 4
gpt4 key购买 nike

我正在尝试编写一个示例 Map Reduce 程序,其 Mapper 输出如下所示:

1/1/2012        15:11:46
1/1/2012 19:09:26
1/1/2012 14:01:25
1/1/2012 17:32:26
1/1/2012 17:41:00
1/1/2012 19:35:38
1/1/2012 14:28:10
1/1/2012 15:45:55

我希望我对 reducer 的输入按键排序,然后按值排序。默认情况下,Hadoop 框架仅按键对映射器输出进行排序。

我想我应该使用二级排序来完成这项任务,但不确定如何使用它。

谁能帮我解决这个问题?

最佳答案

在高层次上:

  • 使您的键成为当前键和值的串联。保持值不变。
  • 创建一个分组比较器,它接受两个键(它们是连接),仅提取日期并返回两个日期的比较。这使得具有相同日期的所有记录都通过对 reduce() 的单次调用传递。
  • 在您的作业驱动程序中指定您的分组比较器以及所有其他作业和配置设置。

请注意,显示的日期值不会按日期按词汇排序 - 您希望年份排在第一位。

编辑:我突然想到,您可能还必须编写一个分区程序,因为您希望确保将显然具有不同值(但都在同一天)的键发送到同一分区。

关于hadoop - 按键然后按值对 Mapper 输出进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486415/

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