MapReduceアルゴリズムの実行プロセスとは何ですか?

MapReduceアルゴリズムの実行プロセスとは何ですか?

(1)MapReduceフレームワークは、InputFormatモジュールを使用して、マップの前に前処理を実行します。たとえば、入力フォーマットが入力定義に準拠しているかどうかを確認します。次に、入力ファイルが論理的に複数のInputSplitに分割され、InputSplitはファイルを処理するMapReduceです。入力操作の単位は単なる論理的な概念であり、各InputSplitは実際にファイルをカットするのではなく、処理されるデータの位置と長さを記録するだけです。

(2)InputSplitは物理的な分割ではなく論理的な分割であるため、InputSplitの情報に従ってRecordReader(RR)を介してInputSplitの特定のレコードを処理し、データをロードして、マップタスクの読み取りに適したキーと値のペアに変換する必要もあります。 、マップタスクに人を失います。

(3)Mapタスクは、ユーザー定義のマッピングルールに従って、一連の<key、value>を中間結果として出力します。

(4)Reduceがマップの結果を並列処理するためには、特定のパーティション(Portition)、ソート(Sort)、マージ(Combine)、マージ(Merge)などの操作をマップの出力に対して実行して、<key、value-lis >)フォームの中間結果は、対応するReduceに渡されて処理されます。このプロセスはShuffleと呼ばれます。順序付けされていない<key、value>から順序付けされたものまで、このプロセスは視覚的にはShufle(シャッフル)と呼ばれています。以来:0hoe

(5)Reduceは、一連の<key、value-list>中間結果を入力として受け取り、ユーザー定義のロジックを実行して、結果をOutputFormatモジュールに出力します。

(6)OutputFormatモジュールは、出力ディレクトリがすでに存在するかどうか、および出力結果のタイプが構成ファイルの構成タイプを満たしているかどうかを検証します。

公開された19元の記事 ウォン称賛19 ビュー1585

おすすめ

転載: blog.csdn.net/weixin_45558363/article/details/105533891