最後の減速の速度は非常に遅いです。もう1つは減らす 私のマップの数を減らします。 マップの数は18784です。減らす数は1500です。 それぞれの平均時間は約1分26秒に短縮されますが、最後の削減は約2時間です 削減の数を変更し、ジョブのサイズを縮小する。しかし、私は似たような経験を持っていた私のパーティションMapReduceで最後の減速材が非常に遅い
public int getPartition(Object key, Object value, int numPartitions) {
// TODO Auto-generated method stub
String keyStr = key.toString();
int partId= String.valueOf(keyStr.hashCode()).hashCode();
partId = Math.abs(partId % numPartitions);
partId = Math.max(partId, 0);
return partId;
//return (key.hashCode() & Integer.MAX_VALUE) % numPartitions;
}
ありがとうございました。しかし、私は約10%のデータのデータサイズを削減し、私のパーティーを変更すると、私は同じ結果を得る。最後の削減も遅いです。 – yanzhuo
処理しているデータの量は確認できましたか?残りのレデューサーよりも多くのデータを処理していますか? – user3330284
ありがとうございます。そして私は理由を見つける。私はsetCombinerClassのクラスを忘れました – yanzhuo