Video: How To Spell Your Name In Pig Latin 2024
Pig Latin ist im Kern ein Datenfluss , in dem Sie einen Datenstrom und eine Reihe von Transformationen definieren, die auf die Daten angewendet werden, während sie fließen. durch Ihre Bewerbung. Dies steht im Gegensatz zu einer Kontrollfluss Sprache (wie C oder Java), wo Sie eine Reihe von Anweisungen schreiben.
In Kontrollflusssprachen verwenden Sie Konstrukte wie Schleifen und bedingte Logik (wie eine if-Anweisung). Sie finden keine Loops und If-Anweisungen in Pig Latin.
Wenn Sie etwas davon überzeugen wollen, dass die Arbeit mit Pig wesentlich einfacher ist als das Schreiben von Map- und Reduce-Programmen, lesen Sie zunächst die echte Pig-Syntax:
A = LOAD 'Daten_Datei. txt';.. B = GRUPPE …; … C = FILTER …;.. DUMP B;.. SPEICHERN SIE C IN 'Ergebnisse';
Ein Teil des Textes in diesem Beispiel sieht tatsächlich wie Englisch aus, richtig? Nicht zu gruselig, zumindest an diesem Punkt. Wenn Sie nacheinander auf jede Zeile schauen, können Sie den grundlegenden Ablauf eines Pig-Programms sehen. (Beachten Sie, dass dieser Code entweder Teil eines Skripts sein kann oder in der interaktiven Shell namens Grunt ausgegeben werden kann.)
-
Laden: Sie laden zuerst (LOAD) die Daten, die Sie manipulieren wollen.
Wie in einem typischen MapReduce-Job werden diese Daten in HDFS gespeichert. Damit ein Pig-Programm auf die Daten zugreifen kann, teilen Sie Pig zunächst mit, welche Datei oder Dateien verwendet werden sollen. Für diese Aufgabe verwenden Sie den Befehl LOAD 'data_file'.
Hier kann 'data_file' entweder eine HDFS-Datei oder ein Verzeichnis angeben. Wenn ein Verzeichnis angegeben ist, werden alle Dateien in diesem Verzeichnis in das Programm geladen.
Wenn die Daten in einem Dateiformat gespeichert sind, auf das Pig nativ nicht zugreifen kann, können Sie optional die Funktion USING zur LOAD-Anweisung hinzufügen, um eine benutzerdefinierte Funktion anzugeben, die eingelesen werden kann (und interpretieren) die Daten.
-
Transformieren: Sie führen die Daten durch eine Reihe von Transformationen, die weit unter der Haube und weit entfernt von allem, mit dem Sie sich beschäftigen müssen, in eine Reihe von Map- und Reduce-Aufgaben übersetzt werden.
Die Transformationslogik ist der Ort, an dem die gesamte Datenmanipulation stattfindet. Hier können Sie Zeilen filtern, die nicht von Interesse sind, JOIN zwei Gruppen von Datendateien, GROUP-Daten zum Erstellen von Aggregationen, ORDER-Ergebnisse und vieles, vieles mehr.
-
Dump: Schließlich werden die Ergebnisse auf dem Bildschirm
oder
Speichern (SPEICHERN) der Ergebnisse irgendwo in einer Datei abgelegt (DUMP).
Normalerweise würden Sie den Befehl DUMP verwenden, um die Ausgabe an den Bildschirm zu senden, wenn Sie Ihre Programme debuggen. Wenn Ihr Programm in Produktion geht, ändern Sie einfach den DUMP-Aufruf in einen STORE-Aufruf, so dass alle Ergebnisse aus der Ausführung Ihrer Programme zur weiteren Verarbeitung oder Analyse in einer Datei gespeichert werden.