Apache Pig - Exécution

Dans le chapitre précédent, nous avons expliqué comment installer Apache Pig. Dans ce chapitre, nous verrons comment exécuter Apache Pig.

Modes d'exécution d'Apache Pig

Vous pouvez exécuter Apache Pig dans deux modes, à savoir, Local Mode et HDFS mode.

Mode local

Dans ce mode, tous les fichiers sont installés et exécutés à partir de votre hôte local et de votre système de fichiers local. Il n'y a pas besoin de Hadoop ou HDFS. Ce mode est généralement utilisé à des fins de test.

Mode MapReduce

Le mode MapReduce est l'endroit où nous chargeons ou traitons les données qui existent dans le système de fichiers Hadoop (HDFS) à l'aide d'Apache Pig. Dans ce mode, chaque fois que nous exécutons les instructions Pig Latin pour traiter les données, une tâche MapReduce est appelée dans le back-end pour effectuer une opération particulière sur les données qui existent dans le HDFS.

Mécanismes d'exécution Apache Pig

Les scripts Apache Pig peuvent être exécutés de trois manières, à savoir le mode interactif, le mode batch et le mode intégré.

  • Interactive Mode(Grunt shell) - Vous pouvez exécuter Apache Pig en mode interactif à l'aide du shell Grunt. Dans ce shell, vous pouvez entrer les instructions Pig Latin et obtenir la sortie (en utilisant l'opérateur Dump).

  • Batch Mode (Script) - Vous pouvez exécuter Apache Pig en mode Batch en écrivant le script Pig Latin dans un seul fichier avec .pig extension.

  • Embedded Mode (UDF) - Apache Pig fournit la possibilité de définir nos propres fonctions (User Ddéfini Functions) dans des langages de programmation tels que Java, et en les utilisant dans notre script.

Invoquer le Grunt Shell

Vous pouvez invoquer le shell Grunt dans un mode souhaité (local / MapReduce) en utilisant le −x option comme indiqué ci-dessous.

Mode local Mode MapReduce

Command −

$ ./pig –x local

Command −

$ ./pig -x mapreduce

Output -

Output -

Chacune de ces commandes vous donne l'invite du shell Grunt comme indiqué ci-dessous.

grunt>

Vous pouvez quitter le shell Grunt en utilisant ‘ctrl + d’.

Après avoir appelé le shell Grunt, vous pouvez exécuter un script Pig en y entrant directement les instructions Pig Latin.

grunt> customers = LOAD 'customers.txt' USING PigStorage(',');

Exécution d'Apache Pig en mode batch

Vous pouvez écrire un script Pig Latin entier dans un fichier et l'exécuter en utilisant le –x command. Supposons que nous ayons un script Pig dans un fichier nommésample_script.pig comme indiqué ci-dessous.

Sample_script.pig

student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING
   PigStorage(',') as (id:int,name:chararray,city:chararray);
  
Dump student;

Maintenant, vous pouvez exécuter le script dans le fichier ci-dessus comme indiqué ci-dessous.

Mode local Mode MapReduce
$ cochon -x local Sample_script.pig $ cochon -x mapreduce Sample_script.pig

Note - Nous discuterons en détail comment exécuter un script Pig dans Bach mode et en embedded mode dans les chapitres suivants.