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.