java - tutorial - mapreduce wordcount hadoop



Comment utiliser.jar dans un fichier cochon (1)

Vous devez définir FixedLoader avec son nom de package complet:

register 'maprfs:///user/username/fl.jar';
DEFINE FixedLoader com.mapr.util.FixedLoader();
...

Enregistrez également tous les fichiers JAR de dépendance tiers utilisés dans votre fichier UDF personnalisé.

J'ai deux fichiers d'entrée smt.txt et smo.txt. Le fichier jar lit les fichiers texte et divise les données selon une règle décrite dans le fichier java. Et le fichier cochon prend ces données dans des fichiers de sortie en faisant mapreduce.

register 'maprfs:///user/username/fl.jar';
DEFINE FixedLoader fl();

mt = load 'maprfs:///user/username/smt.txt' using FixedLoader('-30','30-33',...........) AS (.........);

mo = load 'maprfs:///user/username/smo.txt*' using FixedLoader('-30','30-33',.....) AS (......);

store mt into 'maprfs:///user/username/mt_out' using JsonStorage();
store mo into 'maprfs:///user/username/mo_out' using JsonStorage();

et une partie du code Java comme dans ce qui suit. (Le contenu des méthodes n'est pas nécessaire je crois):

package com.mapr.util;

import org.apache.hadoop.mapreduce.lib.input.*;
import org.apache.hadoop.mapreduce.*;
import org.apache.hadoop.io.*;
import org.apache.pig.*;
import org.apache.pig.data.*;
import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.*;
import java.util.*;
import java.io.*;

public class FixedLoader extends LoadFunc
{

............

}

Quand je lance ce programme de cochon dans un teminal avec la commande "cochon -x mapreduce sample.pig", j'ai donné un message d'erreur:

ERREUR org.apache.pig.tools.grunt.Grunt - ERREUR 1070: Impossible de résoudre com.mapr.util.FixedLoader à l'aide des importations: [, org.apache.pig.builtin., Org.apache.pig.impl.builtin. ]

Comment puis-je les importer dans mon projet ou y a-t-il des suggestions / solutions pour exécuter ce programme?





mapr