Los puntos clave no están disponibles para este artículo en este momento.
Cada vez más, las organizaciones capturan, transforman y analizan enormes conjuntos de datos. Ejemplos prominentes incluyen empresas de internet y e-ciencia. El paradigma de flujo de datos escalable Map-Reduce se ha vuelto popular para estas aplicaciones. Su modelo de programación de flujo de datos simple y explícito es preferido por algunos sobre el enfoque tradicional declarativo de alto nivel: SQL. Por otro lado, la extrema simplicidad de Map-Reduce conduce a mucho trabajo de bajo nivel para lidiar con los flujos de datos ramificados y de múltiples pasos que surgen en la práctica. Además, los usuarios deben codificar repetidamente operaciones estándar como 'join' a mano. Estas prácticas desperdician tiempo, introducen errores, perjudican la legibilidad e impiden optimizaciones. Pig es un sistema de flujo de datos de alto nivel que busca un punto medio entre SQL y Map-Reduce. Pig ofrece construcciones de manipulación de datos de alto nivel al estilo SQL, que se pueden ensamblar en un flujo de datos explícito e intercalar con funciones o ejecutables al estilo Map y Reduce personalizados. Los programas Pig se compilaan en secuencias de trabajos Map-Reduce y se ejecutan en el entorno Hadoop Map-Reduce. Tanto Pig como Hadoop son proyectos de código abierto administrados por la Apache Software Foundation. Este documento describe los desafíos que enfrentamos en el desarrollo de Pig y reporta comparaciones de rendimiento entre la ejecución de Pig y la ejecución de Map-Reduce en bruto.
Gates et al. (Sat,) estudiaron esta cuestión.