最近在imooc中初步的学习hadoop,这是一个学习中解决问题的博客,可能还存在问题,欢迎大家指点
代码:
@Override
protected void setup(Context context) throws IOException, InterruptedException {
super.setup(context);
//通过输入流将全局缓存变量中的 右侧矩阵 读入List<String>中
Configuration conf = context.getConfiguration();
FileSystem fs = FileSystem.get(conf);
FSDataInputStream in = fs.open(new Path("/matrix/step1_output/part-r-00000"));
//FileReader fr = new FileReader("#matrix");这是之前使用的读取缓存文件的方式
BufferedReader br = new BufferedReader(new InputStreamReader(in));
//每一行的格式是: 行 tab 列_值,列_值,列_值,列_值
String line = null;
while((line = br.readLine())!=null) {
cacheList.add(line);
}
in.close();
br.close();
}
之前是使用别名读取缓存文件,一直报错,提示找不到文件,故而就放弃了使用读取缓存文件的形式,直接访问文件系统取直接读取文件,更加直接。但是感觉缓存文件还是需要学习一下的。