Pig Script-Schnittstellen in Hadoop

Das Schwein Programmiersprache ist so konzipiert, jede Art zu handhaben von Daten ihren Weg geworfen - strukturiert, semi-strukturierten, unstrukturierten Daten, nennen Sie es. Pig Programme können auf drei verschiedene Arten verpackt werden:

  • Skript: Diese Methode ist nicht mehr als ein Dateibefehle Pig Latin enthält, durch das Suffix .pig identifiziert (FlightData.pig, zum Beispiel). Beenden Sie Ihre Schwein-Programm mit dem .pig Erweiterung ist eine Konvention, aber nicht erforderlich. Die Befehle werden vom Compiler Pig Latin interpretiert und in der Reihenfolge von der Pig-Optimierer bestimmt ausgeführt.

  • Grunzen: Grunt fungiert als Kommandointerpreter, wo Sie interaktiv Schwein-Latein am Grunt Kommandozeile eingeben und sofort die Antwort zu sehen. Diese Methode ist hilfreich für das Prototyping während der anfänglichen Entwicklung und mit Was-wäre-wenn-Szenarien.

  • Eingebettet: Pig Latin-Anweisungen können in Java, Python oder javascript-Programmen ausgeführt werden.

Pig-Skripte, Grunt Shell Pig-Befehle und eingebettete Pig-Programme können entweder im lokalen Modus oder MapReduce-Modus.

Die Grunt Shell stellt eine interaktive Shell einreichen Pig-Befehle oder Pig-Skripte ausgeführt werden. Um die Grunt Shell im interaktiven Modus zu starten, geben Sie den Befehl Schwein an der Shell.

Um festzulegen, ob ein Skript oder Grunt Shell lokal oder in Hadoop-Modus ausgeführt wird nur geben Sie ihn in der -x-Flag auf dem Schwein Befehl. Im Folgenden ist ein Beispiel dafür, wie Sie angeben, würde Ihr Schwein Skript im lokalen Modus ausgeführt wird

Schwein -x lokale milesPerCarrier.pig 

Hier ist, wie würden Sie das Schwein Skript in Hadoop-Modus ausgeführt, dies ist die Standardeinstellung, wenn Sie nicht das Kennzeichen angeben:

Schwein -x mapreduce milesPerCarrier.pig

In der Standardeinstellung, wenn Sie das Schwein Befehl ohne Parameter angeben, beginnt sie die Grunt Schale in Hadoop-Modus. Wenn Sie die Grunt Shell im lokalen Modus starten möchten, fügen Sie einfach die -x lokale Flagge auf den Befehl. Hier ist ein Beispiel

Schwein -x lokale

Menü