07.05.2013 Views

UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav

UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav

UNIDAD ZACATENCO DEPARTAMENTO DE ... - Cinvestav

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 2<br />

MapReduce<br />

MapReduce es un modelo de programación y ambiente de ejecución desarrollado por<br />

Google para procesar grandes cantidades de información del orden de Gigabytes,<br />

Terabytes, Petabytes o Zettabytes, de manera paralela y distribuida en un clúster<br />

conformado por nodos de uso general.<br />

MapReduce es utilizado por muchas compañias para llevar acabo tareas de<br />

inteligencia de negocios (del inglés Business Intelligence), como tendencias de<br />

mercado, introducción de un nuevo producto, minería de datos, etcétera. Hadoop<br />

es una versión libre y gratuita de MapReduce.<br />

2.1. Modelo de programación de MapReduce<br />

La programación paralela y distribuida es compleja, más aun si se requiere especificar<br />

balance de carga y tolerancia a fallas. MapReduce es un middleware que se encarga de<br />

estos aspectos. La programación en MapReduce es secuencial, el usuario solo debe de<br />

especificar un programa mapreduce constituido por al menos una función map y una<br />

función reduce [2] [3]. El ambiente MapReduce replica cada función en varios nodos<br />

y ejecuta las réplicas en paralelo, realizando balance de carga y tolerancia a fallas de<br />

ser necesario; todo esto de manera transparente al programador.<br />

El código 2.1 muestra el pseudocódigo de un programa MapReduce que cuenta las<br />

7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!