我想將我的Java代碼轉換爲Hadoop MapReduce。 我是MapReduce編程的新手,請幫助我解決這個問題。如何將Java代碼轉換爲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中創建一個新文件。
你應該找到一些研究的答案 – ZeusNet