Programmation Pig: Script Apache Pig avec UDF en mode HDFS



Programmation Pig: Script Apache Pig avec UDF en mode HDFS. Voici un article de blog pour exécuter le script Apache Pig avec UDF en mode HDFS ...

Dans les articles de blog précédents, nous avons vu comment commencer avec Programmation et scripts Pig . Nous avons vu les étapes pour écrire un Script Pig en mode HDFS et sans UDF. Dans la troisième partie de cette série, nous passerons en revue les étapes pour écrire un script Pig avec UDF en mode HDFS .

Nous avons expliqué comment implémenter Pig UDF en créant des fonctions intégrées pour expliquer les fonctionnalités de la fonction intégrée Pig. Pour une meilleure explication, nous avons pris deux fonctions intégrées. Nous avons fait cela à l'aide d'un script cochon.





Ici, nous avons pris un exemple et nous avons utilisé à la fois l'UDF (fonctions définies par l'utilisateur) c'est-à-dire créer une chaîne en majuscules et prendre une valeur et augmenter sa puissance.

Le jeu de données est décrit ci-dessous que nous allons utiliser dans cet exemple:



table

Notre objectif est de rendre la 1ère colonne en majuscules et d'augmenter la puissance de la 2ème colonne avec la valeur de la 3ème colonne.

Commençons par écrire le code java pour chaque UDF. Nous devons également configurer 4 JAR dans notre projet java pour éviter les erreurs de compilation.
Tout d'abord, nous allons créer des programmes java, les deux sont donnés ci-dessous:



qu'est-ce que jframe en java

Upper.java

import java.io.IOException import org.apache.pig.EvalFunc import org.apache.pig.data.Tuple import org.apache.pig.impl.util.WrappedIOException @SuppressWarnings ('deprecation') classe publique Upper étend EvalFunc {public String exec (Tuple input) lève IOException {if (input == null || input.size () == 0) return null try {String str = (String) input.get (0) str = str.toUpperCase () return str} catch (Exception e) {throw WrappedIOException.wrap ('Exception interceptée lors du traitement de la ligne d'entrée', e)}}}

Power.java

import java.io.IOException import org.apache.pig.EvalFunc import org.apache.pig.PigWarning import org.apache.pig.data.Tuple classe publique Pow étend EvalFunc {public Long exec (Tuple input) jette IOException {try { int base = (Integer) input.get (0) int exponent = (Integer) input.get (1) long result = 1 / * Probablement pas la méthode la plus efficace ... * / for (int i = 0 i result) {// Nous avons débordé. Donnez un avertissement, mais ne lancez pas d'exception //. warn ('Overflow!', PigWarning.TOO_LARGE_FOR_INT) // Renvoyer null indiquera à Pig que nous avons échoué mais // nous voulons continuer l'exécution. return null}} return result} catch (Exception e) {// Lancer une exception entraînera l'échec de la tâche. lancer une nouvelle IOException ('Quelque chose de mal est arrivé!', e)}}}

Pour supprimer les erreurs de compilation, nous devons configurer 4 bocaux dans notre projet java.


Cliquez sur le bouton Télécharger pour télécharger les JAR

[buttonleads form_title = 'Télécharger le code' redirect_url = https: //edureka.wistia.com/medias/wtboe1hmkr/download? media_file_id = 76900193 course_id = 166 button_text = 'Télécharger les JAR']

Maintenant, nous exportons des fichiers JAR pour les deux codes java. Veuillez vérifier les étapes ci-dessous pour la création de JAR.

Ici, nous avons montré pour un programme, procéder de la même manière dans le programme suivant également.

Après avoir créé les JAR et les fichiers texte, nous avons déplacé toutes les données vers le cluster HDFS, qui est représenté par les images suivantes:

Dans notre ensemble de données, les champs sont séparés par des virgules (,).

tableau périodique des outils devops

Après avoir déplacé le fichier, nous avons créé un script avec l'extension .pig et mis toutes les commandes dans ce fichier de script.

Maintenant dans le terminal, tapez PIG suivi du nom du fichier de script qui est affiché dans l'image suivante:

Ici, c'est la sortie pour exécuter le script pig.

Vous avez une question pour nous? Veuillez les mentionner dans la section commentaires et nous vous recontacterons.

Articles Similaires:

Étapes pour créer UDF dans Apache Pig

Introduction à Apache Hive

message contextuel de script java