要理解MapReduce,就必須理解其框架結構,把這三者放在一起講是為了便於大家理解。
也就是兩大組件Map與Reduce
首先看看Map
(聲明:這里感謝Pig2的文章,對我啟發很大,也順便引用一下她的一些東西)
首先看看Map類中包含哪些方法:
首先看看run方法,它就像是一個控制器
很明顯,Map中的run方法遵循setup--->map----->cleanup
setup源碼:
很明顯,只傳入了一個context對象
那么這個Context對象究竟為何物
Context,中文釋義:環境,背景,上下文
很明顯,開發過Android的人肯定知道,在Context就是一個保存所有信息的中介橋梁,與java中的session有着異曲同工之妙
Context包含了幾乎關於這個任務的所有信息
那么問題就over了,很明顯傳入這個context對象就像傳入一個session來記錄一些信息的,避免信息錯亂
好的,再重新回過頭看看run方法中的map方法,很顯然,這就是我們通常普通用戶需要進行更改的
它的最大用處就是對信息進行預處理,讓最后得到的