問題タブ [reducers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1093 参照

hadoop - Hadoop の異なるレデューサーに同じキーが入る

私は非常に奇妙なことを経験しています。異なるレデューサーで同じキーを取得しています。キーと値を印刷して収集しました。私のレデューサーコードは次のようになります。

コンソールの出力は

キー 1234529857009 が 2 回繰り返されますが、これは異常です。なぜこれが起こっているのかについてのアイデア。

ありがとう

0 投票する
1 に答える
16144 参照

hadoop - Oozie ワークフローにある MapReduce ジョブのリデューサー数の設定

5 ノードのクラスターがあり、そのうちの 3 つのノードには DataNode と TaskTracker が含まれています。

Sqoop 経由で Oracle から約 1000 万行をインポートし、Oozie ワークフローで MapReduce 経由で処理しました。

MapReduce ジョブには約 30 分かかり、使用するレデューサーは 1 つだけです。

編集 - Oozie とは別に、MapReduce コードを単独で実行すると、job.setNumReduceTasks(4)4 つのレデューサーが正しく確立されます。

レデューサーの数を手動で 4 に設定するために次の方法を試しましたが、成功しませんでした。

Oozie で、map reduce ノードのタグに次のプロパティを設定します。

MapReduce Java コードの Main メソッド内:

私も試しました:

私のマップ関数は次のようになります。

IDには80,000の異なる値があると思います。

私の Reduce 関数は次のようになります。

Mapper で発行されたカスタム オブジェクトは WritableComparable を実装していますが、Reducer で発行された他のカスタム オブジェクトは WritableComparable を実装していません。

以下は、システム カウンター、ジョブ カウンター、および map-reduce フレームワークに関するログで、reduce タスクが 1 つだけ起動されたことを示しています。

編集: MapReduce を変更して、カスタム パーティショナー、並べ替えコンパレーター、およびグループ化コンパレーターを導入しました。何らかの理由で、コードは (Oozie を介してスケジュールされた場合) 2 つのレデューサーを起動するようになりましたが、4 つではありません。

mapred.tasktracker.map.tasks.maximum各 TaskTracker (および JobTracker) でプロパティを 20に設定し、それらを再起動しましたが、結果はありませんでした。

0 投票する
1 に答える
179 参照

python - Map reduce Pythonでファイルごとに日付ごとにカウントする

私は私に次のような言葉を与えるマッパーを持っています,

ここで、最初の値は単語であり、その後に 3 列目に記載されているその日のその単語の出現が続きます。

キーをリンゴとして選択し、その合計数を取得できるリデューサーを作成しました。

したがって、出力は次のようになります

しかし、次のように出力する必要があります。

マッパーをどのように変更すればよいですか?

この Map reduce ジョブを Amazon EMR Hadoop Streaming で実行しています。

編集:以下のコードは完全に機能しますが、出力は次のようになります:

何か案が ?

0 投票する
2 に答える
163 参照

java - マップ タスクの数を設定する

Map Reduce ジョブを構成しているときに、メソッドを使用して削減タスクの数を設定できることを知っていjob.setNumReduceTasks(2);ます。

マップ タスクの数を設定できますか?

これを行う方法はありません。

そのような機能がない場合、このフレームワークが複数の reduce タスクを持つことができるのに、複数の map タスクを持たない理由を誰かが知っていますか?

0 投票する
1 に答える
3163 参照

hadoop - Hadoop でのレデューサーの理想的な数は?

レデューサーの理想的な数を計算するために Hadoop wiki で指定されているように、0.95 または 1.75 * (ノード * mapred.tasktracker.tasks.maximum) です。

しかし、いつ 0.95 を選択し、いつ 1.75 を選択するのでしょうか? この乗数を決定する際に考慮された要因は何ですか?

0 投票する
3 に答える
342 参照

clojure - clojure Reducer ライブラリのパフォーマンスのチューニング

レデューサー ライブラリを使用したマッピング/縮小は、通常のマップ/縮小よりもパフォーマンスが悪いのはなぜですか?

無期限に時間がかかるので、後の2人を2人で殺しました。ここで何が問題なのですか?

編集: 他の言語にも同様の問題があるようです。Scala は 100 万で壊れているようです。Scala 並列コレクションが OutOfMemoryError を引き起こすことがあるのはなぜですか? . Clojure Reducer は通常よりも 100 万倍高速です。

0 投票する
0 に答える
512 参照

java - Hadoop MapReduce で 0 の出力レコードを取得する

マッパーとリデューサーが次のような Hadoop に次のコードがあります。

ドライバーの方法は次のとおりです。

レデューサーから出力を発行したにもかかわらず、map output records = 10 and reduce output records = 0 というメッセージが表示されますか? レデューサーからのこの出力はどこに消えますか?

ありがとう。

0 投票する
2 に答える
6601 参照

hadoop - Hadoop MapReduce: レデューサーの数の明確化

MapReduce フレームワークでは、マッパーによって生成されたキーごとに 1 つのレデューサーが使用されます。

したがって、Hadoop MapReduce で Reducer の数を指定することは、プログラムに依存するため意味がないと考えるでしょう。ただし、Hadoop では、使用するレデューサーの数を指定できます (-D mapred.reduce.tasks=レデューサーの数)。

これは何を意味するのでしょうか?レデューサー数のパラメータ値は、実際に使用されるレデューサーの数ではなく、レデューサーに割り当てられるマシン リソースの数を指定していますか?