Apache Pig - Esecuzione
Nel capitolo precedente abbiamo spiegato come installare Apache Pig. In questo capitolo, discuteremo come eseguire Apache Pig.
Modalità di esecuzione di Apache Pig
Puoi eseguire Apache Pig in due modalità, vale a dire, Local Mode e HDFS mode.
Modalità locale
In questa modalità, tutti i file vengono installati ed eseguiti dall'host locale e dal file system locale. Non c'è bisogno di Hadoop o HDFS. Questa modalità viene generalmente utilizzata a scopo di test.
Modalità MapReduce
La modalità MapReduce è dove carichiamo o elaboriamo i dati esistenti nel file system Hadoop (HDFS) utilizzando Apache Pig. In questa modalità, ogni volta che si eseguono le istruzioni Pig Latin per elaborare i dati, viene richiamato un lavoro MapReduce nel back-end per eseguire una particolare operazione sui dati esistenti in HDFS.
Meccanismi di esecuzione di Apache Pig
Gli script di Apache Pig possono essere eseguiti in tre modi, ovvero modalità interattiva, modalità batch e modalità incorporata.
Interactive Mode(Grunt shell) - Puoi eseguire Apache Pig in modalità interattiva utilizzando la Grunt shell. In questa shell, puoi inserire le istruzioni Pig Latin e ottenere l'output (usando l'operatore Dump).
Batch Mode (Script) - Puoi eseguire Apache Pig in modalità batch scrivendo lo script Pig Latin in un singolo file con .pig estensione.
Embedded Mode (UDF) - Apache Pig fornisce la possibilità di definire le nostre funzioni (User Ddefinito Funzioni) in linguaggi di programmazione come Java e utilizzarli nel nostro script.
Invocare il Grunt Shell
Puoi invocare la shell Grunt in una modalità desiderata (locale / MapReduce) usando il −x opzione come mostrato di seguito.
Modalità locale | Modalità MapReduce |
---|---|
Command − $ ./pig –x local |
Command − $ ./pig -x mapreduce |
Output - |
Output - |
Uno di questi comandi fornisce il prompt della shell Grunt come mostrato di seguito.
grunt>
Puoi uscire dalla shell Grunt usando ‘ctrl + d’.
Dopo aver richiamato la shell Grunt, puoi eseguire uno script Pig inserendo direttamente le istruzioni Pig Latin al suo interno.
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
Esecuzione di Apache Pig in modalità batch
Puoi scrivere un intero script latino Pig in un file ed eseguirlo usando il –x command. Supponiamo di avere uno script Pig in un file denominatosample_script.pig come mostrato di seguito.
Sample_script.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
PigStorage(',') as (id:int,name:chararray,city:chararray);
Dump student;
Ora puoi eseguire lo script nel file sopra come mostrato di seguito.
Modalità locale | Modalità MapReduce |
---|---|
$ maiale -x locale Sample_script.pig | $ pig -x mapreduce Sample_script.pig |
Note - Discuteremo in dettaglio come eseguire uno script Pig in Bach mode e in embedded mode nei capitoli successivi.