MapReduce

著者: Louise Ward
作成日: 9 2月 2021
更新日: 28 六月 2024
Anonim
What is MapReduce?
ビデオ: What is MapReduce?

コンテンツ

定義-MapReduceはどういう意味ですか?

MapReduceは、コンピューターのクラスターで大規模なデータセットを処理および生成するためにGoogleによって導入されたプログラミングモデルです。


Googleは最初にGoogleのWebページのインデックス作成を提供する目的でフレームワークを策定し、新しいフレームワークは以前のインデックス作成アルゴリズムを置き換えました。ライブラリルーチンを使用して、クラスター内通信、タスクの監視、または障害処理プロセスを心配せずに並列プログラムを作成できるため、初心者の開発者はMapReduceフレームワークを活用できます。

MapReduceは、コモディティマシンの大規模なクラスターで実行され、非常にスケーラブルです。 Java、C#、C ++などの複数のプログラミング言語によって提供される実装のいくつかの形式があります。

Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

TechopediaはMapReduceについて説明します

MapReduceフレームワークには2つの部分があります。

  1. 「マップ」と呼ばれる機能。これにより、分散クラスターのさまざまなポイントで作業を分散できます。
  2. クラスタの結果の最終形式を1つの出力に減らすように設計された「Reduce」と呼ばれる関数

MapReduceフレームワークの主な利点は、そのフォールトトレランスです。作業が完了すると、クラスター内の各ノードからの定期的なレポートが期待されます。

タスクは、あるノードから別のノードに転送されます。ノードが予想よりも長い間サイレント状態になっていることにマスターノードが気付いた場合、メインノードはフリーズ/遅延タスクへの再割り当てプロセスを実行します。

MapReduceフレームワークは、関数型プログラミングで使用される「Map」および「Reduce」関数に触発されています。計算処理は、ファイルシステムまたはデータベース内に格納されたデータに対して行われます。データベースは、入力キー値のセットを取得し、出力キー値のセットを生成します。


毎日、多数のMapReduceプログラムとMapReduceジョブがGoogleクラスターで実行されます。プログラムは自動的に並列化され、汎用マシンの大規模なクラスターで実行されます。ランタイムシステムは、入力データの分割、一連のマシン全体でのプログラム実行のスケジューリング、マシン障害の処理、および必要なマシン間通信の管理を扱います。並列および分散システムの経験のないプログラマは、大規模な分散システムのリソースを簡単に使用できます。

MapReduceは、分散grep、分散ソート、Webリンクグラフの反転、Webアクセスログの統計、ドキュメントクラスタリング、機械学習、統計的機械翻訳で使用されます。