ジョブが送信された後、削減タスクの数を設定する方法はありますか?たとえば、開始アルファベットに基づいて英語の単語を収集する必要がある場合、reduceタスクの数を直接26に設定できます。ただし、必要なreducerの数を事前に決定できないシナリオが発生した場合、要件?ここでの要件は、クラスター上のノードの数とは無関係であり、処理されるキーに依存します。たとえば、レデューサーの数は、新しいキーが満たされるたびに1ずつ増加するとします。よろしくお願いします。
質問する
488 次
1 に答える
2
ジョブが送信された後、削減タスクの数を設定する方法はありますか?
いいえ
たとえば、開始アルファベットに基づいて英語の単語を収集する必要がある場合、reduceタスクの数を26に直接設定できます。
上記のシナリオでも、26個のレデューサーは必要ありませんが、1個のレデューサーが必要です。削減機能は、Hadoopフレームワークによってキーごとに何度も呼び出されます。MultipleOutputFormatを使用して、キーと値のペア(最初のアルファベット)に基づいて異なるファイルに単語を書き込むことができます。
ジョブのレデューサーの数の基準は、処理するデータの量である必要があります。また、最も時間がかかるレデューサーがジョブの完了時間を決定することを忘れないでください。
于 2012-06-27T12:19:42.627 に答える