gpt4 book ai didi

java - 归约化约简输出的键值对

转载 作者:行者123 更新时间:2023-12-02 21:37:34 26 4
gpt4 key购买 nike

我的job包含一个mapperreducerreducer发出key value对,其中key是学生的姓名,而value是gpa。 reducer计算gpa。我如何才能使reducer输出按value(gpa)排序?
reducer 代码:

public class ReducerClass extends Reducer<Text, IntWritable, Text, IntWritable> {
public void reduce(Text key, Iterable<IntWritable> values,
Context context)
throws IOException, InterruptedException {
int i = 0;
int total = 0;
for (IntWritable value : values) {
i++;
total = total + value.get();
}
context.write(key, new IntWritable(total));
}
}

最佳答案

一种方法是使用辅助排序。 here。这个想法是在reducer键(一个复合键)内也添加值,并允许hadoop在map的输出中进行排序。这需要对现有设计进行更多更改。

另一种方法(可能更简单)是,当您完成当前工作后,可以将第一份工作的输出交给第二份工作,并交换键和值。在这种情况下,第二个作业只能有一个 map ,并且输出将显示为基于gpa排序。具有相同gpa的任何重复生都可以作为特定gpa的列表。

关于java - 归约化约简输出的键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080328/

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