apache-pigCommencer avec apache-pig


Remarques

Cette section fournit une vue d'ensemble de ce qu'est apache-pig et pourquoi un développeur peut vouloir l'utiliser.

Il convient également de mentionner tous les grands sujets dans Apache-pig et de les relier aux sujets connexes. La documentation pour apache-pig étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.

Installation ou configuration

Linux

Exigences (r0.16.0)

Obligatoire

Selon la documentation Apache-Pig , il ne prend en charge que Unix Windows 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 répertoire d'installation 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 depuis 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, vous devez 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
 

enregistrer le fichier et recharger bashrc dans l'environnement en utilisant

. ~/.bashrc
 

Vérification de la version du cochon

pig –version 
 

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

Tester l'installation du cochon

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 fichier .bashrc comme avant

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

Porc Courir

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)

PIG 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

Le cochon peut être exécuté en mode interactif à l'aide du shell Grunt . Les instructions et commandes Latin Pig peuvent être entrées 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é

Le cochon peut également être exécuté en mode batch. .pig fichier .pig contenant une liste d'instructions et de commandes de porc est fourni.

Exemple

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

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

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 inclut des opérateurs pour de nombreuses opérations de données traditionnelles (jointure, tri, filtrage, etc.), ainsi que la possibilité pour les 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, de l'utiliser pour eux-mêmes, d'y contribuer et, selon les termes de la licence Apache, de l'utiliser dans leurs produits et de le modifier comme ils l'entendent.

Exemple de compte 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 nombre 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;
 

Sortie

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