我正在尝试将文件从HDFS复制到本地文件系统进行预处理。下面的代码应该根据文档工作。虽然它没有给出任何错误消息,而且mapreduce作业运行顺利,但我在本地硬盘上看不到任何输出。你认为问题出在哪里?谢谢
try {
Path phdfs_input = new Path("hdfs://master:54310/user/hduser/conninput/"+value.toString());
Path plocal_input = new Path("/home/hduser/Desktop/"+avlue.toString());
FileSystem fs = FileSystem.get(context.getConfiguration());
fs.copyToLocalFile(phdfs_input, plocal_input);
/* String localoutput_file = "/home/hduser/Destop/output/"+value.toString();
String cmd1[] = {"mafia", "-mfi", ".5", "-ascii", "~/Desktop/"+value.toString(), localoutput_file };
File mafia_dir = new File("/home/hduser/");
ShellCommandExecutor s = new ShellCommandExecutor(cmd1, mafia_dir);*/
} catch (Exception e) {
e.printStackTrace();
}
尝试在Path
构造函数中使用/user/hduser/conninput/"+value.toString()
,而不是提供master:54310
部分。它应该从Configuration
中计算出master:54310
。