gpt4 book ai didi

java - Hadoop MapReduce 有条件地打印名称对

转载 作者:可可西里 更新时间:2023-11-01 16:52:51 24 4
gpt4 key购买 nike

所以我想弄清楚这个 MapReduce 程序问题的逻辑,我不需要代码,只需要逻辑方面的帮助,因为我对 MapReduce 还是新手,我不太熟悉所有可能的解决方法一个问题。我尝试查找类似的程序,但没有成功。

问题:给定一个名称列表(为简单起见,只考虑第一个字符)

输入:

A,B

D,F

P,E

A,B

A,C

B,A

E,P

我需要使用 MapReduce 仅打印那些按字母顺序和相反顺序提到的对(按字母顺序)。

所以输出将是:

A,B

E,P

注意:打印的是 E,P 而不是 P,E,因为它必须按字母顺序排列。

有人能帮忙吗?

最佳答案

在 Map-Reduce 程序中,主要问题是:什么是键,什么是值。 Map-reduce 程序根据键/值规则工作。您定义键和值,在下一步中您可以定义其他键和值,依此类推。比如一开始key就是raw的一个index(number),value就是这个raw里面的值。在 map 函数的代码中,您定义了新的键和值,然后转到 reduce 函数,您在其中遍历所有键并使用具有相同键的值执行一些操作。

map reduce 的经典例子是字数统计程序。

在您的 map 函数示例中,您可以设置一个键 按字母顺序排列的一对,值将是 对本身在 reduce 函数中,您遍历每个键的所有值并查找倒序,如果您有倒序,则将此值写入结果

在 map 函数输出之后将是:

A,B A,B 
A,B A,B
A,B B,A
A,C A,C
D,F D,F
E,P P,E
E,P E,P

减少后:

A,B A,B
P,E P,E

关于java - Hadoop MapReduce 有条件地打印名称对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387894/

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