Hadoopのソースコードを読んでいて気になったことについて書いてみる 一般に,Hadoopの処理はMap処理,シャッフル,Reduce処理の3つに分類される このうち,Map処理とReduce処理はユーザプログラムによって制御できるもののシャッフルについてはHadoopが独自に処理するためユーザはその内容を知ることができない このシャッフル処理はMapタスクの結果をReduceタスクに集めるものだ 確かにユーザがいちいちこのMapタスクのこのパーミッションの中間データ(Mapタスクの出力結果)をこのReduceタスクに集める、といったことをわざわざ実装する必要がないことは魅力的だ しかしこのシャッフル処理がくせ者である シャッフルには中間データをReduceタスクへ転送することに加えマージ・ソートの処理が含まれている("・"で区切っているのは一般的なソートアルゴリズムであるマージソートと