2016-02-26 6 views
2

Я получаю ошибкуЯ получаю ошибку «Метод addCacheFile (URI) не определено для типа задания» с CDH4.0

Метод addCacheFile (URI) не определено для типа задания

с CDH4.0 при попытке вызвать метод addCacheFile(URI uri), как показано ниже:

import java.net.URI; 

import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.fs.Path; 
import org.apache.hadoop.io.LongWritable; 
import org.apache.hadoop.io.Text; 
import org.apache.hadoop.mapreduce.Job; 
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; 
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; 
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; 

public class DistributedCacheDriver { 

    public static void main(String[] args) throws Exception { 
     String inputPath = args[0]; 
     String outputPath = args[1]; 

     String fileName = args[2]; 
     Configuration conf = new Configuration(); 
     Job job = Job.getInstance(conf, "TestingDistributedCache"); 
     job.setJarByClass(DistributedCache.class); 


     job.addCacheFile(new URI(fileName)); //Getting error here -The method addCacheFile(URI) is undefined for the type Job 

     boolean result = job.waitForCompletion(true); 
     System.exit(result ? 0 : 1); 
    } 
} 

Любые предложения/подсказки, чтобы избавиться от этой ошибки?

+0

Вы установили mapreduce версии 1 или 2? – vefthym

ответ

1

Если вы выбрали для установки MapReduce версии 1, то вы должны заменить job.addCacheFile() команду с DistributeddCache.addCacheFile(); и изменить метод setup() соответственно (назовем его configure()).

Найдите официальную документацию и примеры here.