Hola a todos, hoy vamos a hablar sobre detalles básicos de apache pig.
Una curiosidad, si buscas en google.. pig, apache pig o sus variaciones… verás que el logo es un chancho/puerco que se parece bastante a porky de los looney tunes…
En fin, mencionando este pequeño detalle (que no aporta nada..) vamos a lo que nos interesa sobre Apache Pig,
Cuando nos hagamos la pregunta: ¿Qué es Apache Pig?, tengamos 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 podrás 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 convertirán internamente a Mapa y también se reducirán las tareas.
Hay un componente llamado Pig engine (es el motor de Pig) que acepta los scripts de Pig latin como input y los convierte en trabajos de MapReduce.
Para que fue diseñado 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 big data:
- 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á:
Los programas de Pig pueden lograr enormes tareas, pero son fáciles de escribir y mantener.
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. |
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. |
Si quieres saber porque necesitarías apache Pig y conocer algunas de sus caracteristicas lee este articulo .