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!

Deshalb der Name, Pig!
Deshalb der Name, Pig!

In diesem Apache Pig-Tutorial für Anfänger lernen Sie-

Schwein Architektur

Der ArchiDie Struktur von Pig besteht aus zwei Komponenten:

  1. Schweinelatein, Das ist eine Sprache
  2. 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, die einem Programmierer nicht bekannt sind. In gewisser Weise ermöglicht es Pig in Hadoop dem Programmierer, sich auf Daten statt auf die Art der Ausführung zu konzentrieren.

PigLatin ist eine relativ steife Sprache, die bekannte Schlüsselwörter aus der Datenverarbeitung verwendet, z. B. Join, Group und Filter.

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel
SCHWEIN Architektur

Ausführungsmodi:

Pig in Hadoop verfügt über zwei Ausführungsmodi:

  1. 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
  2. Kartenreduzierungsmodus: In diesem Modus werden in Schweinelatein geschriebene Abfragen übersetzt MapReduce Jobs und werden auf einem Hadoop-Cluster ausgeführt (der Cluster kann pseudo- oder vollständig verteilt sein). Der MapReduce-Modus mit dem vollständig verteilten Cluster ist nützlich, um Pig für große Datensätze 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).

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Schritt 3). Ändern ~ / .bashrc um Pig-bezogene Umgebungsvariablen hinzuzufügen

Offen ~ / .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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Schritt 4) Geben Sie nun diese Umgebungskonfiguration mit dem folgenden Befehl als Quelle an

. ~/.bashrc

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Hinweis: Der Download beginnt und dauert entsprechend Ihrer Internetgeschwindigkeit.

PIG neu kompilieren

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Schritt 6) Testen Sie die Schwein Installation mit dem Befehl

pig -help

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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 /

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Überprüfen Sie, ob eine Datei tatsächlich kopiert wird oder nicht.

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Schritt 3) Schweinekonfiguration

Navigieren Sie zunächst zu $PIG_HOME/conf

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Offen pig.properties Verwenden Sie einen Texteditor Ihrer Wahl und geben Sie den Pfad der Protokolldatei mit an pig.logfile

sudo gedit pig.properties

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

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.

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

— B. Daten nach Feld „Land“ gruppieren

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

— 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.

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

— D. Speichern Sie die Ergebnisse des Datenflusses im Verzeichnis 'pig_output_sales' auf HDFS

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Die Ausführung dieses Befehls wird einige Zeit in Anspruch nehmen. Sobald Sie fertig sind, sollten Sie Folgendes sehenwing Bildschirm

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Schritt 6) Das Ergebnis kann über die Befehlsschnittstelle wie folgt angezeigt werden:

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Die Ergebnisse können auch über eine Weboberfläche eingesehen werden.

Ergebnisse über eine Webschnittstelle-

Offen http://localhost:50070/ in einem Webbrowser.

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Wählen Sie nun aus „Durchsuchen Sie das Dateisystem“ und navigieren Sie bis zu /user/hduser/pig_output_sales

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel

Offen Teil-r-00000

Hadoop PIG-Tutorial: Einführung, Installation und Beispiel