0

負荷分散の理由から、Hadoop 環境でレデューサーよりも多くのパーティションを作成したいと考えています。パーティションを特定のレデューサーに割り当てる方法はありますか?もしそうなら、どこで定義できますか? 私は個別のパーティショナーを作成しましたが、特定のパーティションを持つ特定のレデューサーに対処したいと考えています。

助けてくれてありがとう!

4

2 に答える 2

0

分割はレデューサーに対して行われます。選択したレデューサーの数と同じ数のパーティションが作成されます。レデューサーの数を選択できます

job.setNumReduceTasks(n);

数 n は、あなたが持っている物理的な減速機の数によって制限される必要はありません。次の削減スロットを取得するのに少し待つだけです。パーティショナー コードでは、キーを特定のパーティションに割り当てるために必要なロジックを実装できます。

ただし、物理的に利用可能なリデューサー スロットの数を超えても、次のリデュース スロットを待つだけになるため、効率を達成することはできません。

于 2013-04-26T09:25:10.947 に答える