Looking for apache-pig Keywords? Try Ask4Keywords

apache-pigErste Schritte mit Apache-Schwein


Bemerkungen

Dieser Abschnitt bietet einen Überblick über das, was Apache-pig ist und warum ein Entwickler es verwenden möchte.

Es sollte auch alle großen Themen innerhalb des Apache-Schweins erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für Apache-pig neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.

Installation oder Setup

Linux

Anforderungen (r0.16.0)

Verpflichtend

Laut aktueller Apache-Pig Dokumentation werden nur Unix und Windows Betriebssysteme unterstützt.

  • Hadoop 0,23.X, 1.X oder 2.X
  • Java 1.6 oder spätere Versionen installiert und JAVA_HOME-Umgebungsvariable auf Java-Installationsverzeichnis gesetzt

Wahlweise

  • Python 2.7 oder mehr (Python-UDFs)
  • Ameise 1.8 (für Builds)

Laden Sie die neueste Pig-Version herunter

Laden Sie die neueste Version von pig von http://pig.apache.org/releases.html#Download herunter

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/
 

Aufbau

Nach der Installation von Apache Pig müssen wir es konfigurieren.

Öffnen Sie die .bashrc-Datei

vim ~/.bashrc
 

Legen Sie in der Datei .bashrc die folgenden Variablen fest:

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

Speichern Sie die Datei und laden Sie bashrc erneut in die Umgebung mit

. ~/.bashrc
 

Pig-Version überprüfen

pig –version 
 

Wenn die Installation erfolgreich ist, zeigt der obige Befehl die installierte Pig-Versionsnummer an.

Testen der Schweineinstallation

pig -h
 

Dies sollte alle möglichen Befehle anzeigen, die mit pig verbunden sind

Ihr Schwein ist jetzt lokal installiert und Sie können es mit lokalen Parametern wie ausführen

pig -x local
 

Verbindung zu Hadoop

Wenn Hadoop1.x oder 2.x im Cluster installiert ist und die Umgebungsvariable HADOOP_HOME eingerichtet ist.

Sie können pig mit Hadoop verbinden, indem Sie die Zeile in der .bashrc wie zuvor hinzufügen

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Laufendes Schwein

Ausführungsmodi

Sie können Pig entweder mit dem Befehl pig (bin / pig) oder mit der jar Datei (java -cp pig.jar) ausführen.

PIG Skripte können in 3 verschiedenen Modi ausgeführt werden:

  • Lokalbetrieb

     pig -x local ...
     
  • Mapreduce-Modus (Standardmodus)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Tez Lokaler Modus

     pig -x tez ...
     

Interaktiver Modus

Pig kann im interaktiven Modus mit der Grunt Shell ausgeführt werden. Pig Latin-Anweisungen und -Befehle können interaktiv in diese Shell eingegeben werden.

Beispiel

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

Mode kann einer der im vorherigen Abschnitt erläuterten Ausführungsmodi sein.

Stapelmodus

Pig kann auch im Batch-Modus ausgeführt werden. Hier wird eine .pig Datei .pig , die eine Liste von Anweisungen und Befehlen von pig enthält.

Beispiel

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

In ähnlicher Weise kann der Mode einer der im vorherigen Abschnitt erläuterten Ausführungsmodi sein.

Was ist Schwein?

Pig bietet eine Engine für die parallele Ausführung von Datenflüssen auf Hadoop. Es enthält eine Sprache, Pig Latin, um diese Datenflüsse auszudrücken. Pig Latin umfasst Operatoren für viele der herkömmlichen Datenoperationen (Verknüpfen, Sortieren, Filtern usw.) sowie die Möglichkeit, dass Benutzer eigene Funktionen zum Lesen, Verarbeiten und Schreiben von Daten entwickeln. Pig ist ein Open-Source-Projekt von Apache. Dies bedeutet, dass Benutzer es als Quelle oder als Binärdatei herunterladen können, es für sich selbst verwenden, dazu beitragen und - unter den Bedingungen der Apache-Lizenz - es in ihren Produkten verwenden und es nach Belieben ändern können.

Word Count Beispiel in Schwein

Eingabedatei

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

Schweinezahlzählungscode

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

Ausgabe

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