2011-02-07 5 views
1

私は私のクエリを付加しようとしました:ハープトップハイブマップジョブの最大レデューサーを制限する機能はありますか?

set mapred.running.reduce.limit = 25; 

そして

set hive.exec.reducers.max = 35; 

最後のものは、私はそれを試してみるつもりだったと思わせるた...ダウン35から530のまで減速して仕事を投獄シューホーン35

への仕事の価値は530のレデューサーは今

set mapred.tasktracker.reduce.tasks.maximum = 3; 
を与えます

その番号がノードごとにある種の最大値であるかどうかを試してみてください(以前は70の潜在的な減速機があるクラスタでは7でした)。

更新:

set mapred.tasktracker.reduce.tasks.maximum = 3; 

は効果がなかったが、しかし試してみる価値がありました。

答えて

1

正確な解決策ではありませんが、潜在的に良い妥協点です。 400の+レデューサーを持っている運命のスーパークエリのために

set hive.exec.reducers.max = 45; 

、これは合計35のレデューサーまでで最も高価なハイブタスクを刑務所。私のクラスターは現在、ノードが10個しかなく、各ノードは7個のレデューサーをサポートしています...実際には、70個のレデューサーは1回だけ実行できます。このジョブを70以下に抑えることで、最終製品に目に見える変化がなくスピードが少し改善されていることに気付きました。これを実際にテストして、ここで何が起こっているのかを把握してください。その間に、それは良い妥協の解決策です。

関連する問題