我在Eclypse中使用mapreduce时遇到错误,我无法理解。
在映射某些功能之前,我需要导入一个具有已知特征(关键字)的文件,我想用它来映射新的特征。我首先在覆盖的东西之后导入它,但因为我有很多行,并且因为它为每个地图导入它所以计算时间非常长。 我尝试在类和@Override之间导入我的变量,只导入一次,然后在类映射中使用它,但是我得到以下错误:
public static class Map extends Mapper<LongWritable, Text, Text, Text > {
HashSet<String> word = new HashSet<String>();
BufferedReader BR = new BufferedReader(new FileReader(
new File("/home/test")));
String token;
while((token = BR.readLine()) != null){
word.add(token);
}
@Override
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
我得到“String token;”错误 : 令牌“;”上的语法错误,{此标记后的预期
并在“public void”之后出现错误: 此行有多个标记 - 令牌“,”的语法错误;预期 - 令牌“,”的语法错误;预期 - 令牌上的语法错误“(”,;; - 覆盖
所以我的问题是是否可以导入我想在地图类中但在@override之前使用的变量?我怎么能这样做?
在第一个答案中,我尝试使用“public static ...”
public static Set<String> newHashSet(String... strings) {
HashSet<String> words = new HashSet<String>();
BufferedReader BR = new BufferedReader(new FileReader(
new File("/home/test")));
String token;
while((token = BR.readLine()) != null){
words.add(mot);
}
return words;
}
但我又得到了错误。
当我尝试阅读我的文件时,我得到了 此行有多个标记 - 未处理的异常类型 FileNotFoundException异常 - 资源泄漏:“BR”永远不会关闭
在while循环中 未处理的异常类型IOException
我只想导入我的文件并存储数据,以便稍后在我的mapreduce任务中使用它们作为条件。
答案 0 :(得分:0)
您正在寻找两个重要的事情来为您的代码添加爵士乐。
请仔细阅读以下链接以获得深入了解。
分布式缓存,SetUp()映射和清理()