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!
En este tutorial de Apache Pig para principiantes, aprenderá:
Arquitectura de cerdo
Pig Architecture tiene dos componentes:
-
Jerga, que es un idioma
-
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.
Métodos de ejecución:
Pig en Hadoop tiene dos métodos de ejecución:
-
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
-
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