Apache Pig - Instalación

Este capítulo explica cómo descargar, instalar y configurar Apache Pig en su sistema.

Prerrequisitos

Es esencial que tenga Hadoop y Java instalados en su sistema antes de optar por Apache Pig. Por lo tanto, antes de instalar Apache Pig, instale Hadoop y Java siguiendo los pasos que se dan en el siguiente enlace:

Descarga Apache Pig

En primer lugar, descargue la última versión de Apache Pig desde el siguiente sitio web: https://pig.apache.org/

Paso 1

Abra la página de inicio del sitio web de Apache Pig. Bajo la secciónNews, clic en el enlace release page como se muestra en la siguiente instantánea.

Paso 2

Al hacer clic en el enlace especificado, se le redirigirá al Apache Pig Releasespágina. En esta página, debajo delDownload sección, tendrá dos enlaces, a saber, Pig 0.8 and later y Pig 0.7 and before. Clic en el enlacePig 0.8 and later, luego será redirigido a la página que tiene un conjunto de espejos.

Paso 3

Elija y haga clic en cualquiera de estos espejos como se muestra a continuación.

Paso 4

Estos espejos te llevarán al Pig Releasespágina. Esta página contiene varias versiones de Apache Pig. Haga clic en la última versión entre ellos.

Paso 5

Dentro de estas carpetas, tendrá los archivos fuente y binarios de Apache Pig en varias distribuciones. Descargue los archivos tar de los archivos fuente y binarios de Apache Pig 0.15,pig0.15.0-src.tar.gz y pig-0.15.0.tar.gz.

Instalar Apache Pig

Después de descargar el software Apache Pig, instálelo en su entorno Linux siguiendo los pasos que se indican a continuación.

Paso 1

Cree un directorio con el nombre Pig en el mismo directorio donde se encuentran los directorios de instalación de Hadoop, Java,y se instaló otro software. (En nuestro tutorial, hemos creado el directorio Pig en el usuario llamado Hadoop).

$ mkdir Pig

Paso 2

Extraiga los archivos tar descargados como se muestra a continuación.

$ cd Downloads/ 
$ tar zxvf pig-0.15.0-src.tar.gz 
$ tar zxvf pig-0.15.0.tar.gz

Paso 3

Mover el contenido de pig-0.15.0-src.tar.gz archivo al Pig directorio creado anteriormente como se muestra a continuación.

$ mv pig-0.15.0-src.tar.gz/* /home/Hadoop/Pig/

Configurar Apache Pig

Después de instalar Apache Pig, tenemos que configurarlo. Para configurar, necesitamos editar dos archivos:bashrc and pig.properties.

archivo .bashrc

En el .bashrc archivo, establezca las siguientes variables:

  • PIG_HOME carpeta a la carpeta de instalación de Apache Pig,

  • PATH variable de entorno a la carpeta bin, y

  • PIG_CLASSPATH variable de entorno a la carpeta etc (configuración) de sus instalaciones de Hadoop (el directorio que contiene los archivos core-site.xml, hdfs-site.xml y mapred-site.xml).

export PIG_HOME = /home/Hadoop/Pig
export PATH  = $PATH:/home/Hadoop/pig/bin
export PIG_CLASSPATH = $HADOOP_HOME/conf

archivo pig.properties

En el conf carpeta de Pig, tenemos un archivo llamado pig.properties. En el archivo pig.properties, puede establecer varios parámetros como se indica a continuación.

pig -h properties

Se admiten las siguientes propiedades:

Logging: verbose = true|false; default is false. This property is the same as -v
       switch brief=true|false; default is false. This property is the same 
       as -b switch debug=OFF|ERROR|WARN|INFO|DEBUG; default is INFO.             
       This property is the same as -d switch aggregate.warning = true|false; default is true. 
       If true, prints count of warnings of each type rather than logging each warning.		 
		 
Performance tuning: pig.cachedbag.memusage=<mem fraction>; default is 0.2 (20% of all memory).
       Note that this memory is shared across all large bags used by the application.         
       pig.skewedjoin.reduce.memusagea=<mem fraction>; default is 0.3 (30% of all memory).
       Specifies the fraction of heap available for the reducer to perform the join.
       pig.exec.nocombiner = true|false; default is false.
           Only disable combiner as a temporary workaround for problems.         
       opt.multiquery = true|false; multiquery is on by default.
           Only disable multiquery as a temporary workaround for problems.
       opt.fetch=true|false; fetch is on by default.
           Scripts containing Filter, Foreach, Limit, Stream, and Union can be dumped without MR jobs.         
       pig.tmpfilecompression = true|false; compression is off by default.             
           Determines whether output of intermediate jobs is compressed.         
       pig.tmpfilecompression.codec = lzo|gzip; default is gzip.
           Used in conjunction with pig.tmpfilecompression. Defines compression type.         
       pig.noSplitCombination = true|false. Split combination is on by default.
           Determines if multiple small files are combined into a single map.         
			  
       pig.exec.mapPartAgg = true|false. Default is false.             
           Determines if partial aggregation is done within map phase, before records are sent to combiner.         
       pig.exec.mapPartAgg.minReduction=<min aggregation factor>. Default is 10.             
           If the in-map partial aggregation does not reduce the output num records by this factor, it gets disabled.
			  
Miscellaneous: exectype = mapreduce|tez|local; default is mapreduce. This property is the same as -x switch
       pig.additional.jars.uris=<comma seperated list of jars>. Used in place of register command.
       udf.import.list=<comma seperated list of imports>. Used to avoid package names in UDF.
       stop.on.failure = true|false; default is false. Set to true to terminate on the first error.         
       pig.datetime.default.tz=<UTC time offset>. e.g. +08:00. Default is the default timezone of the host.
           Determines the timezone used to handle datetime datatype and UDFs.
Additionally, any Hadoop property can be specified.

Verificación de la instalación

Verifique la instalación de Apache Pig escribiendo el comando version. Si la instalación es exitosa, obtendrá la versión de Apache Pig como se muestra a continuación.

$ pig –version 
 
Apache Pig version 0.15.0 (r1682971)  
compiled Jun 01 2015, 11:44:35