Estoy tratando de ejecutar el código de abajo,

package test;

import java.io.IOException;

import java.util.*;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.conf.*;

import org.apache.hadoop.io.*;

import org.apache.hadoop.util.*;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.mapreduce.Reducer;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.conf.Configured;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;



public class Diction {

    public static class WordMapper extends Mapper<Text,Text,Text,Text>
    {
         private Text word = new Text();
            public void map(Text key, Text value, Context context) throws IOException, InterruptedException
            {
                StringTokenizer itr = new StringTokenizer(value.toString(),",");
                while (itr.hasMoreTokens())
                {
                    word.set(itr.nextToken());
                    context.write(key, word);
                }
    }

}
 public static class AllTranslationsReducer

    extends Reducer<Text,Text,Text,Text>
    {
        private Text result = new Text();
        public void reduce(Text key, Iterable<Text> values,
        Context context
        ) throws IOException, InterruptedException
        {
            String translations = "";
            for (Text val : values)
            {
                translations += "|"+val.toString();
            }
            result.set(translations);
            context.write(key, result);
        }
    }
    public static void main(String[] args) throws Exception
    {
        Configuration conf = new Configuration();
        Job job = new Job(conf, "dictionary");
        job.setJarByClass(Dictionary.class);
        job.setMapperClass(WordMapper.class);
        job.setReducerClass(AllTranslationsReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(Text.class);
        job.setInputFormatClass(KeyValueTextInputFormat.class);
        FileInputFormat.addInputPath(job, new Path("/tmp/hadoop-cscarioni/dfs/name/file"));
        FileOutputFormat.setOutputPath(job, new Path("output"));
        System.exit(job.waitForCompletion(true) ? 0 : 1);
    }
}

Pero me estoy encontrando algunos de error «El import org.apache.hadoop.mapreduce no puede ser resuelto»
Yo ya se han añadido Hadoop Jar file «http://www.java2s.com/Code/Jar/h/Downloadhadoop0210eclipsepluginjar.htm» .

Versión de Hadoop-Hadoop 2.0.0-cdh4.2.0

Eclipse juno Service Release 2
¿Puede alguien por favor me ayude a resole este problema.

OriginalEl autor Indrajit Swain | 2014-02-09

2 Comentarios

  1. 5

    Usted no tiene la correspondiente dependencia. Lo que tienen en realidad es un plugin de Eclipse para el desarrollo de Hadoop que es totalmente diferente de Hadoop del Frasco.

    Mirar el contenido de hadoop-0.21.0-eclipse-plugin.jar , ¿ve usted alguna Hadoop núcleo de clases?

    De verificación Versiones De Hadoop y agregar el real Hadoop dependencia a su herramienta de construcción (Maven, Ant, Gradle …).

    Algo así como si usted está usando Maven:

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>2.2.0</version>
    </dependency>
    
    Sí en mi código cuando estoy recibiendo el error en cada declaración de Importación «import org.apache.hadoop.mapreduce.lib.de entrada.FileInputFormat; import org.apache.hadoop.mapreduce.lib.de salida.FileOutputFormat;» Se me está mostrando el mismo error podría usted por favor, me sugieren cómo puedo resolver esto . El uso de esta máquina virtual previamente soy capaz de ejecutar mis códigos pero en la actualidad se está mostrando errores .
    Sí exactamente. Porque usted no tiene Hadoop de los frascos en el classpath.
    Puede usted por favor me explique cómo puedo añadir Hadoop del Frasco en mi ruta de clase ,el sistema operativo Linux.
    Has leído mi respuesta?
    Mi gran problema resuelto ahora, Los archivos Jar que me han añadido previamente no está funcionando adecuadamente , ahora he añadido correcto archivo Jar «mvnrepository.com/artifact/org.apache.hadoop/hadoop-common/…» ,»mvnrepository.com/artifact/org.apache.hadoop/…«

    OriginalEl autor Chiron

  2. 4

    Intentar incluyendo los siguientes externos frascos que has descargado con Hadoop:

    • $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar
    • $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.2.0.jar
    • $HADOOP_HOME/share/hadoop/common/hadoop-common-2.2.0.jar

    OriginalEl autor Joan Salvatella

Dejar respuesta

Please enter your comment!
Please enter your name here