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

apache-pigKomma igång med apache-pig


Anmärkningar

Det här avsnittet ger en översikt över vad apache-pig är och varför en utvecklare kanske vill använda den.

Det bör också nämna alla stora ämnen inom apache-svin och länka till relaterade ämnen. Eftersom dokumentationen för apache-pig är ny kan du behöva skapa initialversioner av relaterade ämnen.

Installation eller installation

Linux

Krav (r0.16.0)

Obligatorisk

Enligt aktuell Apache-Pig dokumentation stöder den endast Unix & Windows operativsystem.

  • Hadoop 0.23.X, 1.X eller 2.X
  • Java 1.6 eller senare versioner installerade och JAVA_HOME miljövariabel inställd på Java installationskatalog

Valfri

  • Python 2.7 eller mer (Python UDF)
  • Ant 1,8 (för build)

Ladda ner den senaste grisutgåvan

Ladda ner den senaste versionen av gris från http://pig.apache.org/releases.html#Download

Installation

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/
 

Konfiguration

Efter att ha installerat Apache Pig måste vi konfigurera det.

Öppna .bashrc-filen

vim ~/.bashrc
 

Ställ in följande variabler i .bashrc-filen -

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

spara filen och ladda om bashrc igen i miljön med

. ~/.bashrc
 

Verifierar Pig-versionen

pig –version 
 

Om installationen är framgångsrik visar kommandot ovan det installerade Pig-versionnumret.

Testa grisinstallation

pig -h
 

Detta bör visa alla möjliga kommandon associerade med gris

Din gris är nu installerad lokalt och du kan köra den med en lokal parameter som

pig -x local
 

Ansluter till Hadoop

Om Hadoop1.x eller 2.x är installerat i klustret och miljövariabeln HADOOP_HOME är inställd.

du kan ansluta gris till Hadoop genom att lägga till linjen i .bashrc som tidigare

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Running Pig

Exekveringslägen

Du kan köra Pig antingen med kommandot pig (bin / pig) eller genom att köra jar fil (java -cp pig.jar)

PIG skript kan köras i 3 olika lägen:

  • Lokalt läge

     pig -x local ...
     
  • Mapreduce-läge (standardläge)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Tez Local Mode

     pig -x tez ...
     

Interaktivt läge

Gris kan köras i interaktivt läge med hjälp av Grunt skalet. Gris-latinska uttalanden och kommandon kan matas in interaktivt i detta skal.

Exempel

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

Mode kan vara ett av körningslägen som förklarats i föregående avsnitt.

Batch-läge

Gris kan också köras i batch-läge. Här finns en .pig fil som innehåller en lista över svinangivelser och kommandon.

Exempel

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

På liknande sätt kan Mode vara ett av körningslägen som förklarats i föregående avsnitt.

Vad är gris?

Pig tillhandahåller en motor för att exekvera dataflöden parallellt på Hadoop. Det innehåller ett språk, Pig Latin, för att uttrycka dessa dataflöden. Pig Latin innehåller operatörer för många av de traditionella dataoperationerna (gå med, sortera, filtrera etc.), såväl som användarnas förmåga att utveckla sina egna funktioner för att läsa, bearbeta och skriva data. Pig är ett Apache-projekt med öppen källkod. Detta innebär att användarna är gratis att ladda ner den som källa eller binär, använda den för sig själva, bidra till den, och - enligt villkoren i Apache-licensen - använda den i sina produkter och ändra den efter behov.

Exempel på ordräkning i gris

Indatafil

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

Pig Word Count Code

-- 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;
 

Produktion

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