Hadoop Pig-Tutorial: Was ist Apache Pig? Architektur, Beispiel
Wir beginnen mit der Einführung in Pig
Was ist Apache Pig?
Pig ist eine High-Level-Programmiersprache, die sich für die Analyse großer Datenmengen eignet. Pig war ein Ergebnis der Entwicklungsarbeit bei Yahoo!
In einem MapReduce-Framework müssen Programme in eine Reihe von Map- und Reduce-Stufen übersetzt werden. Dies ist jedoch kein Programmiermodell, mit dem Datenanalysten vertraut sind. Um diese Lücke zu schließen, wurde eine Abstraktion namens Pig auf Hadoop aufgebaut.
Apache Pig ermöglicht es den Menschen, sich mehr darauf zu konzentrieren Analyse großer Datenmengen und weniger Zeitaufwand für das Schreiben von Map-Reduce-Programmen. Ähnlich wie Schweine, die alles fressen, das Apache-Schwein Programmiersprache ist so konzipiert, dass es mit jeder Art von Daten arbeiten kann. Deshalb der Name, Pig!

In diesem Apache Pig-Tutorial für Anfänger lernen Sie-
- Was ist SCHWEIN?
- Schwein Architektur
- Voraussetzungen:
- So laden Sie Pig herunter und installieren es
- Beispiel für ein Pig-Skript
Schwein Architektur
Der ArchiDie Struktur von Pig besteht aus zwei Komponenten:
-
Schweinelatein, Das ist eine Sprache
-
Eine Laufzeitumgebung, zum Ausführen von PigLatin-Programmen.
Ein Pig Latin-Programm besteht aus einer Reihe von Operationen oder Transformationen, die auf die Eingabedaten angewendet werden, um eine Ausgabe zu erzeugen. Diese Operationen beschreiben einen Datenfluss, der von der Hadoop Pig-Ausführungsumgebung in eine ausführbare Darstellung übersetzt wird. Darunter sind die Ergebnisse dieser Transformationen eine Reihe von MapReduce-Jobs, von denen ein Programmierer nichts weiß. In gewisser Weise ermöglicht Pig in Hadoop dem Programmierer, sich auf die Daten zu konzentrieren, anstatt auf die Art der Ausführung.
PigLatin ist eine relativ steife Sprache, die bekannte Schlüsselwörter aus der Datenverarbeitung verwendet, z. B. Join, Group und Filter.
Ausführungsmodi:
Pig in Hadoop verfügt über zwei Ausführungsmodi:
-
Lokaler Modus: In diesem Modus wird die Hadoop Pig-Sprache einzeln ausgeführt JVM und nutzt das lokale Dateisystem. Dieser Modus eignet sich nur für die Analyse kleiner Datensätze mit Pig in Hadoop
-
Kartenreduzierungsmodus: In diesem Modus werden in Schweinelatein geschriebene Abfragen übersetzt MapReduce Jobs und werden auf einem Hadoop-Cluster ausgeführt (Cluster kann pseudo- oder vollständig verteilt sein). Der MapReduce-Modus mit dem vollständig verteilten Cluster ist nützlich, um Pig auf großen Datensätzen auszuführen.
So laden Sie Pig herunter und installieren es
In diesem Apache Pig-Tutorial erfahren wir nun, wie man Pig herunterlädt und installiert:
Bevor wir mit dem eigentlichen Prozess beginnen, stellen Sie sicher, dass Sie Hadoop installiert haben. Ändern Sie den Benutzer in „hduser“ (ID, die während der Hadoop-Konfiguration verwendet wird; Sie können zu der Benutzer-ID wechseln, die während Ihrer Hadoop-Konfiguration verwendet wird).
Schritt 1) Laden Sie die stabile neueste Version von Pig Hadoop von einer der verfügbaren Mirror-Sites herunter
http://pig.apache.org/releases.html
Auswählen tar.gz (und nicht src.tar.gz) Datei zum Download.
Schritt 2) Navigieren Sie nach Abschluss des Downloads zu dem Verzeichnis mit der heruntergeladenen TAR-Datei und verschieben Sie die TAR-Datei an den Speicherort, an dem Sie Pig Hadoop einrichten möchten. In diesem Fall wechseln wir nach /usr/local
Wechseln Sie in ein Verzeichnis, das Pig-Hadoop-Dateien enthält
cd /usr/local
Extrahieren Sie den Inhalt der TAR-Datei wie folgt
sudo tar -xvf pig-0.12.1.tar.gz
Schritt 3). Ändern ~ / .bashrc um Pig-bezogene Umgebungsvariablen hinzuzufügen
Öffne ~ / .bashrc Datei in einem beliebigen Texteditor Ihrer Wahl ablegen und die folgenden Änderungen vornehmen:
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
Schritt 4) Geben Sie nun diese Umgebungskonfiguration mit dem folgenden Befehl als Quelle an
. ~/.bashrc
Schritt 5) Wir müssen neu kompilieren SCHWEIN Unterstützung Hadoop 2.2.0
Hier sind die Schritte dazu:
Gehen Sie zum PIG-Home-Verzeichnis
cd $PIG_HOME
Installieren Sie Ant
sudo apt-get install ant
Hinweis: Der Download beginnt und dauert entsprechend Ihrer Internetgeschwindigkeit.
PIG neu kompilieren
sudo ant clean jar-all -Dhadoopversion=23
Bitte beachten Sie, dass bei diesem Neukompilierungsprozess mehrere Komponenten heruntergeladen werden. Daher sollte ein System mit dem Internet verbunden sein.
Falls dieser Vorgang irgendwo hängen bleibt und Sie länger als 20 Minuten lang keine Bewegung an der Eingabeaufforderung sehen, drücken Sie Strg + c und führen Sie denselben Befehl erneut aus.
In unserem Fall dauert es 20 Minuten
Schritt 6) Testen Sie die Schwein Installation mit dem Befehl
pig -help
Beispiel für ein Pig-Skript
Wir werden Pig-Skripte verwenden, um die Anzahl der in jedem Land verkauften Produkte zu ermitteln.
Eingang: Unser Eingabedatensatz ist eine CSV-Datei. SalesJan2009.csv
Schritt 1) Starten Sie Hadoop
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
Schritt 2) Pig in Big Data nimmt eine Datei von HDFS im MapReduce-Modus und speichert die Ergebnisse zurück in HDFS.
Datei kopieren SalesJan2009.csv (im lokalen Dateisystem gespeichert, ~/input/SalesJan2009.csv) in das HDFS-Homeverzeichnis (Hadoop Distributed File System).
Hier in diesem Apache Pig-Beispiel befindet sich die Datei in der Ordnereingabe. Wenn die Datei an einem anderen Ort gespeichert ist, geben Sie diesen Namen ein
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
Überprüfen Sie, ob eine Datei tatsächlich kopiert wird oder nicht.
$HADOOP_HOME/bin/hdfs dfs -ls /
Schritt 3) Schweinekonfiguration
Navigieren Sie zunächst zu $PIG_HOME/conf
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
Öffne pig.properties Verwenden Sie einen Texteditor Ihrer Wahl und geben Sie den Pfad der Protokolldatei mit an pig.logfile
sudo gedit pig.properties
Loger nutzt diese Datei, um Fehler zu protokollieren.
Schritt 4) Führen Sie den Befehl „pig“ aus, um die Pig-Eingabeaufforderung zu starten, bei der es sich um eine interaktive Shell-Pig-Anfrage handelt.
pig
Schritt 5)Führen Sie in der Grunt-Eingabeaufforderung für Pig die folgenden Pig-Befehle der Reihe nach aus.
— A. Laden Sie die Datei mit den Daten.
salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);
Drücken Sie nach diesem Befehl die Eingabetaste.
— B. Daten nach Feld „Land“ gruppieren
GroupByCountry = GROUP salesTable BY Country;
— C. Für jedes Tupel in 'GroupByCountry', generieren Sie die resultierende Zeichenfolge der Form -> Name des Landes: Anzahl der verkauften Produkte
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
Drücken Sie nach diesem Befehl die Eingabetaste.
— D. Speichern Sie die Ergebnisse des Datenflusses im Verzeichnis 'pig_output_sales' auf HDFS
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
Die Ausführung dieses Befehls dauert einige Zeit. Sobald dies erledigt ist, sollten Sie den folgenden Bildschirm sehen
Schritt 6) Das Ergebnis kann über die Befehlsschnittstelle wie folgt angezeigt werden:
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
Die Ergebnisse können auch über eine Weboberfläche eingesehen werden.
Ergebnisse über eine Webschnittstelle-
Öffne http://localhost:50070/
in einem Webbrowser.
Wählen Sie nun aus „Durchsuchen Sie das Dateisystem“ und navigieren Sie bis zu /user/hduser/pig_output_sales
Öffne Teil-r-00000