Premiers pas avec apache-cochon

Installation ou configuration

Linux

Exigences (r0.16.0)

Obligatoire

Selon la documentation Apache-Pig actuelle, il ne prend en charge que les systèmes d’exploitation Unix et Windows.

  • Hadoop 0.23.X, 1.X ou 2.X
  • Java 1.6 ou versions ultérieures installées et variable d’environnement JAVA_HOME définie sur le répertoire d’installation de Java

Optionnel

  • Python 2.7 ou plus (UDF Python)
  • Ant 1.8 (pour les builds)

Téléchargez la dernière version de Pig

Téléchargez la dernière version de pig sur http://pig.apache.org/releases.html#Download

Installation

mkdir Pig
cd Downloads/ 
tar zxvf pig-(latest-version).tar.gz 
tar zxvf pig-(latest-version).tar.gz 
mv pig-(latest-version).tar.gz/* /home/Pig/

Configuration

Après avoir installé Apache Pig, nous devons le configurer.

Ouvrez le fichier .bashrc

vim ~/.bashrc

Dans le fichier .bashrc, définissez les variables suivantes :

export PIG_HOME = /home/Pig
export PATH  = PATH:/home/Pig/bin

enregistrez le fichier et rechargez à nouveau bashrc dans l’environnement en utilisant

. ~/.bashrc

Vérification de la version de Pig

pig –version 

Si l’installation réussit, la commande ci-dessus affiche le numéro de version de Pig installé.

Test de l’installation du porc

pig -h

Cela devrait afficher toutes les commandes possibles associées à pig

Votre cochon est maintenant installé localement et vous pouvez l’exécuter en utilisant un paramètre local comme

pig -x local

Connexion à Hadoop

Si Hadoop1.x ou 2.x est installé sur le cluster et que la variable d’environnement HADOOP_HOME est configurée.

vous pouvez connecter pig à Hadoop en ajoutant la ligne dans le .bashrc comme avant

export PIG_CLASSPATH = $HADOOP_HOME/conf

Cochon courant

Modes d’exécution

Vous pouvez exécuter Pig en utilisant la commande pig (bin/pig) ou en exécutant le fichier jar (java -cp pig.jar)

Les scripts PIG peuvent être exécutés dans 3 modes différents :

  • Mode local

      pig -x local ...
    
  • Mode Mapreduce (mode par défaut)

      pig -x mapreduce ...
           (or)
      pig ...
    
  • Tez Local Mode

      pig -x tez ...
    

Mode interactif

Pig peut être exécuté en mode interactif à l’aide du shell “Grunt”. Les instructions et commandes Pig Latin peuvent être saisies de manière interactive dans ce shell.

Exemple

$ pig -x <mode> <enter>
grunt>

Mode peut être l’un des modes d’exécution comme expliqué dans la section précédente.

Temps différé

Pig peut également être exécuté en mode batch. Ici, un fichier “.pig” contenant une liste d’instructions et de commandes de cochon est fourni.

Exemple

$ pig -x <mode> <script.pig>
grunt>

De même, Mode peut être l’un des modes d’exécution, comme expliqué dans la section précédente.

Exemple de nombre de mots dans Pig

Fichier d’entrée

Mary had a little lamb
its fleece was white as snow
and everywhere that Mary went
the lamb was sure to go.

** Code de comptage de mots de cochon **

-- Load input from the file named Mary, and call the single
-- field in the record 'line'.
input = load 'mary' as (line);

-- TOKENIZE splits the line into a field for each word.
-- flatten will take the collection of records returned by
-- TOKENIZE and produce a separate record for each one, calling the single
-- field in the record word.
words = foreach input generate flatten(TOKENIZE(line)) as word;

-- Now group them together by each word.
grpd = group words by word;

-- Count them.
cntd = foreach grpd generate group, COUNT(words);

-- Print out the results.
dump cntd;

Production

Mary,2
had,1
a,1
little,1
lamb,2
its,1
fleece,1
was,2
white,1
as,1
snow,1
and,1
everywhere,1
that,1
went,1
the,1
sure,1
to,1
go,1

Qu’est-ce que le cochon ?

Pig fournit un moteur pour exécuter des flux de données en parallèle sur Hadoop. Il comprend un langage, Pig Latin, pour exprimer ces flux de données. Pig Latin comprend des opérateurs pour de nombreuses opérations de données traditionnelles (joindre, trier, filtrer, etc.), ainsi que la possibilité de aux utilisateurs de développer leurs propres fonctions de lecture, de traitement et d’écriture de données. Pig est un projet open source Apache. Cela signifie que les utilisateurs sont libres de le télécharger en tant que source ou binaire, l’utilisent pour eux-mêmes, y contribuent et, selon les termes de l’Apache Licence : utilisez-la dans leurs produits et modifiez-la comme bon leur semble.