Apache Pig - Egzekucja
W poprzednim rozdziale wyjaśniliśmy, jak zainstalować Apache Pig. W tym rozdziale omówimy, jak uruchomić Apache Pig.
Tryby wykonywania Apache Pig
Możesz uruchomić Apache Pig w dwóch trybach, a mianowicie: Local Mode i HDFS mode.
Tryb lokalny
W tym trybie wszystkie pliki są instalowane i uruchamiane z lokalnego hosta i lokalnego systemu plików. Nie ma potrzeby korzystania z Hadoop ani HDFS. Ten tryb jest zwykle używany do celów testowych.
Tryb MapReduce
W trybie MapReduce ładujemy lub przetwarzamy dane istniejące w systemie plików Hadoop (HDFS) przy użyciu Apache Pig. W tym trybie za każdym razem, gdy wykonujemy instrukcje Pig Latin w celu przetworzenia danych, na zapleczu wywoływane jest zadanie MapReduce w celu wykonania określonej operacji na danych istniejących w HDFS.
Mechanizmy wykonywania Apache Pig
Skrypty Apache Pig można wykonywać na trzy sposoby, mianowicie w trybie interaktywnym, trybie wsadowym i trybie osadzonym.
Interactive Mode(Powłoka Grunt) - Możesz uruchomić Apache Pig w trybie interaktywnym za pomocą powłoki Grunt. W tej powłoce można wprowadzić instrukcje Pig Latin i uzyskać dane wyjściowe (za pomocą operatora Dump).
Batch Mode (Skrypt) - Możesz uruchomić Apache Pig w trybie wsadowym, pisząc skrypt Pig Latin w jednym pliku z rozszerzeniem .pig rozbudowa.
Embedded Mode (UDF) - Apache Pig zapewnia możliwość definiowania własnych funkcji (User Defined Functions) w językach programowania, takich jak Java, i używanie ich w naszym skrypcie.
Wywołanie powłoki Grunt
Możesz wywołać powłokę Grunt w żądanym trybie (lokalny / MapReduce) za pomocą −x opcja, jak pokazano poniżej.
Tryb lokalny | Tryb MapReduce |
---|---|
Command − $ ./pig –x local |
Command − $ ./pig -x mapreduce |
Output - |
Output - |
Każde z tych poleceń powoduje wyświetlenie zachęty powłoki Grunt, jak pokazano poniżej.
grunt>
Możesz wyjść z powłoki Grunt za pomocą ‘ctrl + d’.
Po wywołaniu powłoki Grunt można wykonać skrypt Pig, wprowadzając bezpośrednio w nim instrukcje Pig Latin.
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
Wykonywanie Apache Pig w trybie wsadowym
Możesz napisać cały skrypt Pig Latin w pliku i wykonać go przy użyciu rozszerzenia –x command. Załóżmy, że mamy skrypt Pig w pliku o nazwiesample_script.pig jak pokazano niżej.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Dump student;
Teraz możesz wykonać skrypt w powyższym pliku, jak pokazano poniżej.
Tryb lokalny | Tryb MapReduce |
---|---|
$ pig -x local Sample_script.pig | $ pig -x mapreduce Sample_script.pig |
Note - Omówimy szczegółowo, jak uruchomić skrypt Pig w programie Bach mode i w embedded mode w kolejnych rozdziałach.