Saltar al contenido

¿Qué es Apache Pig? Arquitectura, Ejemplo

Empezaremos con la introducción a Pig.

¿Qué es Apache Pig?

Pig es un lenguaje de programación de alto nivel que es útil para analizar grandes conjuntos de datos. Pig fue el resultado de un esfuerzo de desarrollo de Yahoo!

En el marco MapReduce, los programas deben cambiarse a una serie de pasos Map y Shrink. Sin embargo, este no es un modelo de programación con el que los analistas de datos estén familiarizados. Entonces, para cerrar esta brecha, se construyó una abstracción llamada Pig sobre Hadoop.

Apache Pig permite que las personas se concentren más en Analice conjuntos de datos masivos y pase menos tiempo escribiendo programas Map-Reduce. Como cerdos, que no comen nada, el cerdo apache lenguaje de programación está diseñado para trabajar con cualquier tipo de datos. ¡Por eso el nombre, Cerdo!

¡Por eso el nombre, Cerdo!

En este tutorial de Apache Pig para principiantes, aprenderá:

Arquitectura de cerdo

Pig Architecture tiene dos componentes:

  1. Jerga, que es un idioma

  2. Entorno de ejecución, para ejecutar programas PigLatin.

El programa Pig Latin es una serie de operaciones o transformaciones que se aplican a los datos de entrada para producir una salida. Estas operaciones describen un flujo de datos que traduce el entorno de ejecución de Hadoop Pig en una representación ejecutable. A continuación, los resultados de estos cambios son una serie de trabajos de MapReduce que un programador no conoce. Entonces, de alguna manera, Pig en Hadoop permite al programador enfocarse en los datos en lugar de en la naturaleza de la ejecución.

PigLatin es un lenguaje relativamente rígido que utiliza palabras clave familiares del procesamiento de datos, p. Unirse, agrupar y filtrar.

Arquitectura PIG

Métodos de ejecución:

Pig en Hadoop tiene dos métodos de ejecución:

  1. Modo local: en este modo, el lenguaje Hadoop Pig se ejecuta solo en JVM y utiliza el sistema de archivos local. Este método solo es adecuado para analizar pequeños conjuntos de datos utilizando Pig en Hadoop

  2. Método de reducción de mapa: en este modo, las preguntas escritas en latín de cerdo se traducen Mapa reducido publica y se ejecuta en un clúster de Hadoop (el clúster puede ser falso o estar completamente distribuido). El método MapReduce con el clúster de distribución completo es útil para ejecutar Pig en grandes conjuntos de datos.

Cómo descargar e instalar Pig

Ahora, en este tutorial de Apache Pig, aprenderemos cómo descargar e instalar Pig:

Antes de comenzar con el proceso real, asegúrese de tener Hadoop instalado. Cambie el usuario a ‘hduser’ (id utilizado con la configuración de Hadoop, puede cambiar al usuario utilizado durante su configuración de Hadoop)

Paso 1) Descargue la última versión estable de Pig Hadoop desde cualquiera de los sitios espejo disponibles en

http://pig.apache.org/releases.html

Escoger tar.gz (y no src.tar.gz) archivo para descargar.

Paso 2) Una vez que se complete la descarga, navegue hasta el directorio donde se descarga el archivo tar y mueva el tar al lugar donde desea configurar Hadoop Pig. En este caso, nos trasladaremos a / usr / local

Mover a un directorio que contenga archivos Hadoop Pig

cd /usr/local

Extraiga el contenido del archivo tar como se muestra a continuación

sudo tar -xvf pig-0.12.1.tar.gz

Paso 3). Cambiar ~ / .bashrc para agregar variables ambientales relacionadas con los cerdos

Abierto ~ / .bashrc archivo en cualquier editor de texto de su elección y realice las modificaciones siguientes:

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Paso 4) Ahora, obtenga esta configuración de entorno usando el siguiente comando

. ~/.bashrc

Paso 5) Necesitamos remodelar CERDO apoyar Hadoop 2.2.0

Estos son los pasos para hacer esto:

Vaya al directorio de inicio de PIG

cd $PIG_HOME

Instalación de Ant

sudo apt-get install ant

Nota: La descarga comenzará y llevará un tiempo de acuerdo con su velocidad de Internet.

Remodelación de cerdos

sudo ant clean jar-all -Dhadoopversion=23

Tenga en cuenta que este proceso de remodelación implica la descarga de varios componentes. Entonces, un sistema debe estar conectado a Internet.

Además, en caso de que este proceso permanezca en algún lugar y no vea ningún movimiento de comando del indicador durante más de 20 minutos, presione Ctrl + c y vuelva a conectar el mismo pedido.

En nuestro caso, tarda 20 minutos

La licenciatura 6) Prueba el Cerdo instalar usando el comando

pig -help

Ejemplo de script de cerdo

Usaremos Pig Scripts para encontrar la cantidad de productos vendidos en cada país.

Aporte: Nuestro conjunto de datos de entrada es un archivo CSV, SalesJan2009.csv

La licenciatura 1) Iniciar Hadoop

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

La licenciatura 2) Pig in Big Data toma un archivo de HDFS en modo MapReduce y almacena los resultados en HDFS.

Copiar archivo SalesJan2009.csv (almacenado en el sistema de archivos local, ~ / input / SalesJan2009.csv) al directorio de inicio de HDFS (sistema de archivos de distribución de Hadoop)

Aquí, en este ejemplo de Apache Pig, el archivo está en la entrada Carpeta. Si el archivo está almacenado en otro lugar, dé ese nombre

$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /

Confirme si un archivo se está copiando realmente o no.

$HADOOP_HOME/bin/hdfs dfs -ls /

Paso 3) Configuración de cerdo

Primero, navegue a $ PIG_HOME / conf

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Abierto muc.properties usando un editor de texto de su elección, y especifique una ruta de archivo de registro usando muc.logfile

sudo gedit pig.properties

Loger utilizará este archivo para registrar errores.

Paso 4) Ejecute un comando ‘cerdo’ que activará un símbolo del sistema de Pig, que es una prueba interactiva de Pig Pig.

pig

Paso 5)En un comando de Grunt para Pig, ejecute los comandos de Pig en orden.

A. Cargue el archivo que contiene los datos.

salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);

Presione Enter después de este comando.

– B. Agrupar datos por país

GroupByCountry = GROUP salesTable BY Country;

– C. Para cada tupla i ‘GroupByCountry’, gine el alambre que sigue del formulario-> Nombre del país: Número de productos vendidos

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

Presione Enter después de este comando.

– D. Almacenar los resultados del flujo de datos en el directorio ‘ventas_de_salida_de_cerdos’ en HDFS

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('t');

Llevará algún tiempo ejecutar este comando. Cuando termine, debería ver la siguiente pantalla

Paso 6) El resultado se puede ver a través de una interfaz de línea de comandos como

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Los resultados también se pueden ver a través de una interfaz web como-

Resultados a través de la interfaz web

Abierto http: // localhost: 50070 / en un navegador web.

Ahora seleccione ‘Examinar el sistema de archivos’ y navegar hasta / user / hduser / pig_output_sales

Abierto cuid-r-00000

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *