LOAD Funktion/Befehl lädt Daten von HDFS oder Local FS. ex: -Unter der Haube? Wo speichert PIG Zwischenergebnisse/Beziehungsdaten?
gurnt >employees = LOAD 'hdfs://localhost:9090/pig_dir/data.txt' USING PigStorage(',') as (id:int, salary:int, ...etc)
wonach Schwein Befehle ausgeführt werden können - wie
grunt >wellpaid_employees = FILTER employees BY salary > '100000';
Also begann ich zu denken, wo Schwein "Mitarbeiter" Daten/Beziehung speichert. Welches wird verwendet, wenn eine weitere Verarbeitung erforderlich ist, d. H. Erzeugen wellpaid_employees.
1) Mitarbeiter Beziehung - Wenn es nur speichert die Mitarbeiter in einem Temp-Verzeichnis (was auf der Konfiguration basiert), was ist der Vorteil. Es kann jederzeit die Daten von HDFS lesen. Und die Datei kann von 1 GB bis 1 TB oder mehr groß sein. Also werde ich annehmen, dass LOAD die Daten nirgendwo sonst dupliziert. Es funktioniert träge. Und es verwendet die Original-Dateien in HDFS zum Ausführen von Pig-Jobs (das sind MR-Jobs hinter dem Bildschirm).
2) wellpaid_employees Beziehung - wenn Schwein Prozess Mitarbeiter Beziehung wellpaid_employees Beziehung zu erzeugen. Wo speichert es dieses Ergebnis? Denn wenn ich die weitere Verarbeitung auf „wellpaid_employees“ zu tun haben gerne alles gut bezahlte Mitarbeiter in einer bestimmten Stadt bekommen - Beispiel
grunt >wellpaid_employees_in_newyork = FILTER wellpaid_employees BY city == 'NY';
In diesem Fall habe ich die benfit von PIG sehen die Speicherung aller Zwischen und Endergebnis/relatios einige wo. So funktioniert Schwein.
Wie (Format usw.) und wo (physischer Standort) speichert Pig die Zwischenergebnisse/Relationen und wie werden diese Aspekte konfiguriert?
Aber wenn das Zwischenergebnis auch zu groß ist - sagen wir mehrere GB, wie funktioniert dann der Trade (zwischen der Verarbeitung der vorherigen Phasen jedes Mal oder dem Speichern des Ergebnisses). Kann es auch konfiguriert werden.
Pig behält die Beziehung im Speicher, bis sie ausläuft. Dann wird es auf die Festplatte ausgelaufen. Aber es speichert nicht die Beziehung, nichts ist dauerhaft. Sie können nicht auf einen anderen Pig-Job zugreifen, es sei denn, Sie speichern es aktiv. – Andrew