打包hadoop项目需要用fatjar插件进行打包,可以将第三方依赖一起编译进去,否则会找不到mapper类,或者找不到主类main方法。
解析缓存文件代码:
@Override
protected void setup(Context context) throws IOException, InterruptedException {
super.setup(context);
// 解析缓存中的数据
if (context.getCacheFiles() != null && context.getCacheFiles().length > 0) {
//调用context中getlocalCatheFiles 的第0个缓存文件的名字
String path = context.getLocalCacheFiles()[0].getName();
if (StringUtils.isNotBlank(path)) {
System.out.println("path是" + path);
//将文件名字new进文件对象
File itermOccurrenceMatrix = new File(path);
//调用filereader构造文件
FileReader fileReader = new FileReader(itermOccurrenceMatrix);
//创建输入流buffer将filereader放进去
BufferedReader bufferedReader = new BufferedReader(fileReader);
String s;
//调用while循环读取文件中的数据,是一行一行读
while ((s = bufferedReader.readLine()) != null) {
//添加到stringbuffer中等待解析
sb.append(s);
}
bufferedReader.close();
fileReader.close();
}
}
}