Hadoop Map Reduce让addInputPath使用特定的文件名



嘿,这更像是一个Java问题,但它与Hadoop有关。

我在我的Map Reduce java作业中的代码上有这一行:

 JobConf conf= new JobConf(WordCount.class);
 conf.setJobName("Word Count");
       .............
       .............
       .............
 FileInputFormat.addInputPath(conf, new Path(args[0]));

而不是"提供"包含许多文件的目录,如何设置特定的文件名?

摘自《Hadoop: The Definitive Guide》一书:

输入路径是通过调用静态 addInputPath() 方法来指定的 在 FileInputFormat 上,它可以是单个文件,一个目录(其中 如果输入形成该目录中的所有文件),或者一个文件 模式。顾名思义,addInputPath() 可以调用的比 一次使用来自多个路径的输入。

因此,要回答您的问题,您应该能够将路径传递给特定的单个文件,并且它将用作唯一的输入(只要您不使用其他路径对addInputPath()进行更多调用)。

如果您只想对一个文件执行 map-reduce 操作,则快速简便的解决方法是仅将该文件本身移动到文件夹中,然后提供该文件夹的 addInputPath 路径。

如果您尝试读取每个地图任务的整个文件,那么我建议您看看这篇文章:在 hadoop 中将文件作为单个记录读取

你到底想做什么?

我会将其作为评论发布,但我显然没有足够的特权......

相关内容

  • 没有找到相关文章

最新更新