MapReduce

概要

MapReduceとは、米グーグル(Google)が開発した、大規模なデータを効率的に分散処理するためのプログラミングモデル。計算過程を “Map” と “Reduce” と呼ばれる二つのステップに分けて構成する。

MapReduceでは、まず処理全体を管理するマスターmasterノードデータを多数の断片に分割し、複数のマッパー(mapper)ノードに送信する。各ノードデータ断片をいたい処理に応じてキーのペアに変換するマップ処理(mapping)をう。

生成されたペアはキーの内容に応じて選択されたリデューサー(reducer)ノードへ送られる。この過程をシャッフル(shuffling)という。処理系によってはこの過程で整列sortソート)や集約(combine:コンバイン)などの処理をう場合もある。

各リデューサーは受け取ったキーのペア群から必要とする集計結果などを算出し、マスターノードへ報告するリデュース処理(reducing)をう。マスターノードは各ノードから受け取った結果を集約して最終結果を得る。

MapReduceを利用する開発者は、自らが必要とする計算内容を実装したマップ処理とリデュース処理を用意し、MapReduceシステムに投入することにより具体的な計算をう。マップ処理もレデュース処理も多数のノードで並列に分散処理でき、ノード数を増やすほど全体の処理性能を向上させることができる。

MapReduceは同社の内部システムで利用されているほか、「Apache Hadoop」や「Amazon Elastic MapReduce」(Amazon EMR)などMapReduceをうための様々なシステムフレームワーク開発・公開されている。

(2019.5.1更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる