マップタスクの値を各データノードのローカルディスクに保存したい。例えば、各データノードのローカルディスクにデータを書き込む
public void map (...) {
//Process
List<Object> cache = new ArrayList<Object>();
//Add value to cache
//Serialize cache to local file in this data node
}
はどのようにして、各データノードにローカルディスクにこのキャッシュ・オブジェクトを格納することができ、私は上記のようなマップ機能では、このキャッシュを保存している場合ので、パフォーマンスはI/Oタスクので、ひどいでしょうか?
このデータノードのマップタスクが完全に実行されるのを待つ方法はありますか?それからこのキャッシュをローカルディスクに保存しますか?あるいは、Hadoopはこの問題を解決する機能を持っていますか?
の下にある糸-default.xmlのから継承されたデフォルト、希望です助けになる。 –