Hadoop MapReduce - 连接两个文件并计算分组值

问题描述

我对 Hadoop 和 MapReduce 编程还很陌生。我想知道在加入两个文件后是否可以按另一个值(不是键)进行分组。

我有两个包含以下数据的文件

文件 1

name    marks
A       Male
B       Male
C       Female

文件 2

name    marks
A       25
B       28
A       30
C       22

现在有什么方法可以找到每个性别的分数百分比。我正在尝试将以下内容作为输出

Male    percentage_of_marks_of_male_students
Female  percentage_of_marks_of_female_students

无论如何都可以在一份工作中做到这一点。为此,我尝试使用两份工作,但找不到任何进展。

任何提示将不胜感激。

编辑:

加入文件后,我得到这样的东西

{name1 - ["gender","marks1","marks2",...]}
{name2 - ["gender",...]}
{name3 - ["gender",...]}
...

我目前一直在减速器阶段分别寻找男性和女性的标记总和

编辑:

我已经解决了这个问题。我用了两份工作。第一个作业连接两个文件输出

[gender,the sum of marks of each student]

我将输出文件作为输入发送到第二份工作,其中给出了按性别划分的分数百分比。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)