Closed. This question needs to be more
focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅关注
editing this post一个问题。
4年前关闭。
Improve this question
我正在尝试将Java代码转换为Hadoop MapReduce。
我是MapReduce编程的新手,所以请您帮我一下。
我正在尝试计算文件中所有不同的值,并将输出显示在另一个文件中。
输入:
亚历克斯
亚历克斯
约翰
斯图尔特
麦可
约翰
麦可
亚历克斯
输出:
亚历克斯3
约翰福音2
斯图尔特1
迈克尔2
这是我的代码:
public class test {
public static void main(String[] args) throws Exception {
String[] arr = { "sa", "pa" , "ga", "sa", "pa", "la" };
String[] result = new String[10];
int counter = 0, count = 0;
for (int i = 0; i < arr.length; i++) {
boolean isDistinct = false;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDistinct = true;
break;
}
}
if (!isDistinct) {
result[counter++] = arr[i];
}
}
for (int i = 0; i < counter; i++) {
count = 0;
for (int j = 0; j < arr.length; j++) {
if (result[i] == arr[j]) {
count++;
}
}
System.out.println(result[i] + " = " + count);
}
}
}
在这段代码中,我将输入作为数组给出,但是在实际情况下,我需要从HDFS中的文件中获取该输入。
加上文件的输出应该是在HDFS中制作一个新文件。
我是一名优秀的程序员,十分优秀!