Looking for apache-pig Answers? Try Ask4KnowledgeBase
Looking for apache-pig Keywords? Try Ask4Keywords

apache-pigIniziare con apache-pig


Osservazioni

Questa sezione fornisce una panoramica di cosa sia Apache-Pig e perché uno sviluppatore potrebbe volerlo utilizzare.

Dovrebbe anche menzionare tutti i soggetti di grandi dimensioni all'interno di apache-pig e collegarsi agli argomenti correlati. Poiché la documentazione di apache-pig è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.

Installazione o configurazione

Linux

Requisiti (r0.16.0)

Obbligatorio

Secondo la documentazione attuale di Apache-Pig supporta solo i Unix operativi Unix e Windows .

  • Hadoop 0.23.X, 1.X o 2.X
  • Java 1.6 o versioni successive installate e la variabile d'ambiente JAVA_HOME impostata sulla directory di installazione Java

Opzionale

  • Python 2.7 o più (UDF Python)
  • Ant 1.8 (per build)

Scarica l'ultima versione di Pig

Scarica l'ultima versione di maiale da http://pig.apache.org/releases.html#Download

Installazione

mkdir Pig
cd Downloads/ 
tar zxvf pig-(latest-version).tar.gz 
tar zxvf pig-(latest-version).tar.gz 
mv pig-(latest-version).tar.gz/* /home/Pig/
 

Configurazione

Dopo aver installato Apache Pig, dobbiamo configurarlo.

Apri il file .bashrc

vim ~/.bashrc
 

Nel file .bashrc, imposta le seguenti variabili:

export PIG_HOME = /home/Pig
export PATH  = PATH:/home/Pig/bin
 

salvare il file e ricaricare di nuovo bashrc nell'ambiente utilizzando

. ~/.bashrc
 

Verifica della versione Pig

pig –version 
 

Se l'installazione ha esito positivo, il comando sopra mostra il numero di versione di Pig installato.

Testing Pig Installation

pig -h
 

Questo dovrebbe mostrare tutti i possibili comandi associati al maiale

Il tuo maiale è ora installato localmente ed è possibile eseguirlo usando parametri locali come

pig -x local
 

Connessione a Hadoop

Se Hadoop1.xo 2.x è installato nel cluster e la variabile di ambiente HADOOP_HOME è impostata.

puoi collegare il maiale a Hadoop aggiungendo la riga nel file .bashrc come prima

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Running Pig

Modalità di esecuzione

Puoi eseguire Pig usando il comando pig (bin / pig) o eseguendo il file jar (java -cp pig.jar)

PIG script PIG possono essere eseguiti in 3 diverse modalità:

  • Modalità locale

     pig -x local ...
     
  • Modalità Mapreduce (modalità predefinita)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Modalità locale di Tez

     pig -x tez ...
     

Modalità interattiva

Pig può essere eseguito in modalità interattiva usando la shell Grunt . Istruzioni e istruzioni Latin Pig possono essere inserite in modo interattivo in questa shell.

Esempio

$ pig -x <mode> <enter>
grunt>
 

Mode può essere una delle modalità di esecuzione, come spiegato nella sezione precedente.

Modalità batch

Il maiale può anche essere eseguito in modalità batch. Qui viene .pig un file .pig contenente un elenco di istruzioni e comandi pig.

Esempio

$ pig -x <mode> <script.pig>
grunt>
 

Allo stesso modo la Mode può essere una delle modalità di esecuzione, come spiegato nella sezione precedente.

Cos'è Maiale?

Pig fornisce un motore per l'esecuzione di flussi di dati in parallelo su Hadoop. Include una lingua, Pig Latin, per esprimere questi flussi di dati. Pig Latin include operatori per molte delle operazioni di dati tradizionali (join, sort, filter, ecc.), Nonché la possibilità per gli utenti di sviluppare le proprie funzioni per la lettura, l'elaborazione e la scrittura dei dati. Pig è un progetto open source Apache. Ciò significa che gli utenti sono liberi di scaricarlo come sorgente o binario, usarlo per se stesso, contribuirvi e, in base ai termini della licenza Apache, utilizzarlo nei loro prodotti e modificarlo come ritengono opportuno.

Esempio di conteggio parole in maiale

File di input

Mary had a little lamb
its fleece was white as snow
and everywhere that Mary went
the lamb was sure to go.
 

Codice di conteggio delle parole di maiale

-- Load input from the file named Mary, and call the single
-- field in the record 'line'.
input = load 'mary' as (line);

-- TOKENIZE splits the line into a field for each word.
-- flatten will take the collection of records returned by
-- TOKENIZE and produce a separate record for each one, calling the single
-- field in the record word.
words = foreach input generate flatten(TOKENIZE(line)) as word;

-- Now group them together by each word.
grpd = group words by word;

-- Count them.
cntd = foreach grpd generate group, COUNT(words);

-- Print out the results.
dump cntd;
 

Produzione

Mary,2
had,1
a,1
little,1
lamb,2
its,1
fleece,1
was,2
white,1
as,1
snow,1
and,1
everywhere,1
that,1
went,1
the,1
sure,1
to,1
go,1