Apache Pig - Installazione

Questo capitolo spiega come scaricare, installare e configurare Apache Pig nel tuo sistema.

Prerequisiti

È essenziale che tu abbia Hadoop e Java installati sul tuo sistema prima di utilizzare Apache Pig. Pertanto, prima di installare Apache Pig, installa Hadoop e Java seguendo i passaggi indicati nel seguente collegamento:

http://www.tutorialspoint.com/hadoop/hadoop_enviornment_setup.htm

Scarica Apache Pig

Prima di tutto, scarica l'ultima versione di Apache Pig dal seguente sito Web: https://pig.apache.org/

Passo 1

Apri la homepage del sito web di Apache Pig. Sotto la sezioneNews, clicca sul link release page come mostrato nella seguente istantanea.

Passo 2

Facendo clic sul collegamento specificato, verrai reindirizzato al file Apache Pig Releasespagina. In questa pagina, sottoDownload sezione, avrai due link, vale a dire, Pig 0.8 and later e Pig 0.7 and before. Clicca sul linkPig 0.8 and later, quindi verrai reindirizzato alla pagina con una serie di mirror.

Passaggio 3

Scegli e fai clic su uno di questi specchi come mostrato di seguito.

Passaggio 4

Questi specchi ti porteranno al Pig Releasespagina. Questa pagina contiene varie versioni di Apache Pig. Fare clic sull'ultima versione tra di loro.

Passaggio 5

All'interno di queste cartelle, avrai i file sorgente e binari di Apache Pig in varie distribuzioni. Scarica i file tar dei file sorgente e binari di Apache Pig 0.15,pig0.15.0-src.tar.gz e pig-0.15.0.tar.gz.

Installa Apache Pig

Dopo aver scaricato il software Apache Pig, installalo nel tuo ambiente Linux seguendo i passaggi indicati di seguito.

Passo 1

Crea una directory con il nome Pig nella stessa directory in cui si trovano le directory di installazione di Hadoop, Java,e altri software sono stati installati. (Nel nostro tutorial, abbiamo creato la directory Pig nell'utente denominato Hadoop).

$ mkdir Pig

Passo 2

Estrarre i file tar scaricati come mostrato di seguito.

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

Passaggio 3

Sposta il contenuto di pig-0.15.0-src.tar.gz file in Pig directory creata in precedenza come mostrato di seguito.

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

Configura Apache Pig

Dopo aver installato Apache Pig, dobbiamo configurarlo. Per configurare, dobbiamo modificare due file:bashrc and pig.properties.

File .bashrc

Nel .bashrc file, imposta le seguenti variabili:

  • PIG_HOME cartella nella cartella di installazione di Apache Pig,

  • PATH variabile di ambiente nella cartella bin e

  • PIG_CLASSPATH variabile di ambiente nella cartella etc (configurazione) delle installazioni di Hadoop (la directory che contiene i file 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

file pig.properties

Nel conf cartella di Pig, abbiamo un file chiamato pig.properties. Nel file pig.properties è possibile impostare vari parametri come indicato di seguito.

pig -h properties

Sono supportate le seguenti proprietà:

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.

Verifica dell'installazione

Verifica l'installazione di Apache Pig digitando il comando version. Se l'installazione ha esito positivo, otterrai la versione di Apache Pig come mostrato di seguito.

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