Apache Pig - Instalação

Este capítulo explica como baixar, instalar e configurar Apache Pig em seu sistema.

Pré-requisitos

É essencial que você tenha Hadoop e Java instalados em seu sistema antes de ir para o Apache Pig. Portanto, antes de instalar o Apache Pig, instale o Hadoop e o Java seguindo as etapas fornecidas no link a seguir -

Baixar Apache Pig

Em primeiro lugar, baixe a versão mais recente do Apache Pig do seguinte site - https://pig.apache.org/

Passo 1

Abra a página inicial do site do Apache Pig. Sob a seçãoNews, Clique no link release page conforme mostrado no instantâneo a seguir.

Passo 2

Ao clicar no link especificado, você será redirecionado para o Apache Pig Releasespágina. Nesta página, sob oDownload seção, você terá dois links, a saber, Pig 0.8 and later e Pig 0.7 and before. Clique no linkPig 0.8 and later, então você será redirecionado para a página com um conjunto de espelhos.

etapa 3

Escolha e clique em qualquer um desses espelhos conforme mostrado abaixo.

Passo 4

Esses espelhos irão levá-lo ao Pig Releasespágina. Esta página contém várias versões do Apache Pig. Clique na versão mais recente entre eles.

Etapa 5

Dentro dessas pastas, você terá os arquivos de origem e binários do Apache Pig em várias distribuições. Baixe os arquivos tar dos arquivos fonte e binários do Apache Pig 0.15,pig0.15.0-src.tar.gz e pig-0.15.0.tar.gz.

Instale o Apache Pig

Depois de baixar o software Apache Pig, instale-o em seu ambiente Linux seguindo as etapas fornecidas a seguir.

Passo 1

Crie um diretório com o nome Pig no mesmo diretório onde os diretórios de instalação do Hadoop, Java,e outro software foi instalado. (Em nosso tutorial, criamos o diretório Pig no usuário denominado Hadoop).

$ mkdir Pig

Passo 2

Extraia os arquivos tar baixados conforme mostrado abaixo.

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

etapa 3

Mova o conteúdo de pig-0.15.0-src.tar.gz arquivo para o Pig diretório criado anteriormente, conforme mostrado abaixo.

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

Configurar Apache Pig

Depois de instalar o Apache Pig, temos que configurá-lo. Para configurar, precisamos editar dois arquivos -bashrc and pig.properties.

arquivo .bashrc

No .bashrc arquivo, defina as seguintes variáveis ​​-

  • PIG_HOME pasta para a pasta de instalação do Apache Pig,

  • PATH variável de ambiente para a pasta bin, e

  • PIG_CLASSPATH variável de ambiente para a pasta etc (configuração) de suas instalações do Hadoop (o diretório que contém os arquivos core-site.xml, hdfs-site.xml e mapred-site.xml).

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

arquivo pig.properties

No conf pasta do Pig, temos um arquivo chamado pig.properties. No arquivo pig.properties, você pode definir vários parâmetros conforme fornecido a seguir.

pig -h properties

As seguintes propriedades são suportadas -

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.

Verificando a instalação

Verifique a instalação do Apache Pig digitando o comando version. Se a instalação for bem-sucedida, você obterá a versão do Apache Pig conforme mostrado abaixo.

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