目前使用的hadoop是新架構,api與舊版本的也不一樣。新版的api是在org.apache.hadoop.mapreduce,舊版api是在org.apache.hadoop.mapred中。新版api不相容舊版api。
主要改變:
2、更廣泛的使用了context物件,並使用mapcontext進行mapreduce間的通訊,mapcontext同時充當了outputcollector和reporter角色
3、job的配置統一由configuration完成,不必額外的使用jobconf類對守護程序進行配置
4、由job類負責對job的控制,而不是jobclient,jobclient在新的api中已經被刪除。
下面的具體的解釋,也比較簡單。
public class wordcounter }}
//intsumreducer內部類,繼承reducer抽象類
public static class intsumreducer extends reducer
result.set(sum);
context.write(key, result);}}
//main方法,將reduce生成的以textoutputformat的形式輸出到hdfs中
public static void main(string args) throws exception
}
最最簡單的 WordCount
sc.textfile hdfs flatmap line line.split map w w,1 reducebykey foreach println 不使用reducebykey sc.textfile hdfs flatmap l l.split map w w,1 groupbykey ...
簡單驗證hadoop的wordcount
1 執行hadoop中的wordcount,得出一結果。2 對於某個指定單詞在ubuntu中的檔案所在目錄下執行 grep 指定單詞 所有統計檔案 wc 實際上就是linux unix平台的ls指令 a ls grep filename 查詢檔案名包含filename 的檔案 這其實就是乙個map,...
wordcount例子程式
hadoop 0.20.1裡的wordcount源 與0.19.2已經有較大的區別了。在新版本的hadoop中,org.apache.hadoop.mapred包被org.apache.hadoop.mapreduce所取代。不過為了保持相容性,org.apache.hadoop.mapred還是存...