0% encontró este documento útil (0 votos)
25 vistas3 páginas

Guía Completa de Apache Pig para ETL

Apache Pig es una plataforma que simplifica el procesamiento masivo de datos en Hadoop mediante un lenguaje propio llamado Pig Latin, más flexible y procedimental que SQL. Sus scripts definen flujos de transformación de datos (ETL) que se traducen automáticamente en trabajos MapReduce, permitiendo realizar filtrados, agrupaciones, uniones o agregaciones sin necesidad de programar en Java. Pig resulta especialmente útil para manipular datos semiestructurados o no estructurados y es una excelente
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas3 páginas

Guía Completa de Apache Pig para ETL

Apache Pig es una plataforma que simplifica el procesamiento masivo de datos en Hadoop mediante un lenguaje propio llamado Pig Latin, más flexible y procedimental que SQL. Sus scripts definen flujos de transformación de datos (ETL) que se traducen automáticamente en trabajos MapReduce, permitiendo realizar filtrados, agrupaciones, uniones o agregaciones sin necesidad de programar en Java. Pig resulta especialmente útil para manipular datos semiestructurados o no estructurados y es una excelente
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

🐷 Tutorial de Apache Pig

1. ¿Qué es Pig?
Apache Pig es una plataforma para procesar grandes volúmenes de datos en Hadoop.
• Usa un lenguaje llamado Pig Latin, más simple que escribir MapReduce en Java.
• Los scripts Pig Latin se traducen internamente en jobs de MapReduce.
• Ideal para procesamientos ETL (Extract–Transform–Load).
👉 Mientras que Hive está más orientado a consultas analíticas con SQL, Pig es más
procedimental y flexible para transformaciones complejas.

2. Modos de ejecución
• Local mode: ejecuta Pig en tu sistema de ficheros local (para pruebas).
pig -x local

• MapReduce mode: ejecuta en Hadoop (por defecto).


pig

También puedes ejecutar un script:


pig [Link]

3. Sintaxis básica de Pig Latin


📂 Cargar datos
-- Desde HDFS
data = LOAD '/bigdata/datos/[Link]'
USING PigStorage(',')
AS (id:int, nombre:chararray, ciclo:chararray);

🔍 Operaciones básicas
-- Proyección (seleccionar columnas)
nombres = FOREACH data GENERATE nombre, ciclo;

-- Filtro
dam = FILTER data BY ciclo == 'DAM';

-- Ordenar
ordenados = ORDER data BY nombre ASC;

-- Agrupar
grupo_ciclo = GROUP data BY ciclo;

-- Agregación
cuenta_ciclo = FOREACH grupo_ciclo GENERATE group, COUNT(data);

-- Unir datasets
otros = LOAD '/bigdata/datos/[Link]' USING PigStorage(',')
AS (id:int, edad:int);
join_data = JOIN data BY id, otros BY id;

💾 Guardar resultados
STORE cuenta_ciclo INTO '/bigdata/resultados/cuenta_ciclo'
USING PigStorage(',');

4. Funciones integradas (UDFs)


Pig tiene funciones listas como:
• COUNT(), SUM(), AVG(), MAX(), MIN()

• TOKENIZE() → dividir texto en palabras

• LOWER(), UPPER() → manipular cadenas

Ejemplo:
palabras = LOAD '/bigdata/datos/[Link]' USING TextLoader() AS
(linea:chararray);
tokens = FOREACH palabras GENERATE FLATTEN(TOKENIZE(linea)) AS palabra;
agrupadas = GROUP tokens BY palabra;
conteo = FOREACH agrupadas GENERATE group, COUNT(tokens);

Ese script es el WordCount en Pig.

5. Ejercicios prácticos 🎓
Ejercicio 1 – Crear dataset de alumnos
1. Subir a HDFS un archivo [Link] con formato:
1,Pepe,DAM
2,Ana,DAW
3,Luis,DAM

2. Crear un script Pig para:


• Cargar los datos.
• Mostrar solo los nombres.
• Filtrar los alumnos de DAM.
Ejercicio 2 – Ventas por producto
1. Subir [Link]:
1,productoA,5
2,productoB,2
3,productoA,3

2. En Pig:
• Agrupar por producto.
• Calcular el total de ventas por producto.
• Guardar el resultado en /bigdata/resultados/ventas_total.

Ejercicio 3 – WordCount
1. Subir un archivo de texto a HDFS.
2. Crear un script Pig que:
• Tokenice las palabras.
• Cuente las apariciones de cada palabra.
• Guarde los resultados.

Ejercicio 4 – Join de datasets


1. Subir [Link] (id, nombre).

2. Subir [Link] (id_cliente, producto).

3. En Pig:
• Cargar ambos datasets.
• Hacer un JOIN por id_cliente.

• Mostrar nombre del cliente y producto.

6. Consejos
• Pig es muy bueno para pipeline de transformaciones, más flexible que Hive.
• Para consultas interactivas → mejor Hive o Spark SQL.
• Para procesar texto no estructurado → Pig es muy práctico.
• Si quieres extender funcionalidades, puedes escribir UDFs en Python o Java.

También podría gustarte