map処理をreduce処理の2段階に分けてデータの処理を行う。
map処理は、分割されたデータの断片に何らかの加工を施し、必要な情報を抽出する。
reduce処理は、map処理で抽出した情報を束ねて、データ全体についての整理された処理結果を得る。
MapReduceシステムはデータを分割し、必要な数のコンピュータを使って並列にmapとreduceを実行し、処理結果を返す。
Apache Hadoopは大規模データの分散処理を支えるJavaソフトウェアフレームワークであり、フリーソフトウェアとして配布されている。
Apache HiveはHadoop互換のファイルシステム(たとえばAmazon S3)に格納された大規模データセットの分析を行う。使用には、map/reduceを完全にサポートしたSQLライクな「HiveQL」という言語を用いる。クエリの高速化のため、ビットマップインデックスを含めたインデクス機能も実装している。
PigはMapReduceのラッパー*であり、簡単なデータフローを記述するだけで、Map関数とReduce関数に変換し、Hadoop上で分散処理を実行することが可能です。