Apache Pig - Conceptos básicos del chanchito de hadoop..
Hola a todos, yo denuevo por aquí… hoy vamos a ver unos puntos básicos generales sobre apache pig, antes que nada si lo buscas en google (pig, apache pig o sus variaciones…) si te encuentras con la imagen te comento que con el logo no se gastaron mucho como verás…
En fin, salvando este pequeño detalle vamos a lo que nos interesa sobre Apache Pig, cuando nos hacemos la pregunta..
¿Qué es Apache Pig?
apache Pig logo
tenemos en cuenta lo siguiente:
- Es una abstracción sobre MapReduce (lo que quiere decir que nos podemos desentender un poco de lo que es mapreduce..y utilizar Pig sin problemas).
- Es una herramienta / plataforma que se utiliza para analizar grandes conjuntos de datos que se representan como flujos de datos.
- Pig se utiliza generalmente con Hadoop porque podemos realizar todas las operaciones de manipulación de datos en Hadoop usando Pig.
La definición es muy bonita, pero como podemos escribir programas de análisis de datos?, bueno lo interesante aquí es que Apache Pig proporciona un lenguaje de alto nivel conocido como Pig latín.
Pero, yo programador… que puedo hacer con Pig Latin?
En principio Pig latín te proporciona diversos operadores que luego podras utilizar para desarrollar funciones propias para la lectura, la escritura, y el procesamiento de datos.
Vas a escribir scripts (usando el lenguaje Pig latín afín de analizar los datos), todos estos scripts se conviertirán internamente a Mapa y también se reduciran las tareas.
Hay un componente llamdo Pig engine (es el motor de Pig) que acepta los scripts de Pig latin como input y los convierte en trabajos de MapReduce.
En sintesis QUÉ HACE PIG
Pig fue diseñado para llevar a cabo una larga serie de operaciones de datos, por lo que es ideal para tres categorías de puestos de trabajo de grandes datos:
- Extracción, transformación y carga (ETL).
- La investigación sobre los datos en crudo/bruto (raw data)
- Procesamiento de datos iterativa.
Cualquiera que sea el caso de uso, Apache Pig será:
| Características | Beneficios |
|---|---|
| Extensible | Los usuarios pueden crear funciones en Pig personalizadas para satisfacer sus necesidades particulares de procesamiento. |
| Fácilmente programable | Las tareas complejas que implican transformaciones de datos relacionados entre sí se pueden simplificar y codificar como secuencias de flujo de datos. Los programas de Pig pueden lograr enormes tareas, pero son fáciles de escribir y mantener. |
| Auto-optimización | Debido a que el sistema optimiza automáticamente la ejecución de trabajos de Pig, el usuario puede centrarse en la semántica. |