嘿,这更像是一个java问题,但它与hadoop有关。
我在map reduce java作业中有一行代码:
JobConf conf= new JobConf(WordCount.class);
conf.setJobName("Word Count");
.............
.............
.............
FileInputFormat.addInputPath(conf, new Path(args[0]));
如何设置特定的文件名,而不是“给定”一个包含许多文件的目录?
2条答案
按热度按时间q8l4jmvw1#
摘自《hadoop:权威指南》:
通过对fileinputformat调用静态addinputpath()方法来指定输入路径,它可以是单个文件、目录(在这种情况下,输入形成该目录中的所有文件)或文件模式。顾名思义,可以多次调用addinputpath()以使用来自多个路径的输入。
因此,要回答您的问题,您应该能够只传递一个路径到特定的单个文件,并且它将被用作唯一的输入(只要您不使用其他路径调用addinputpath())。
qnakjoqk2#
如果您只想在一个文件上执行map reduce操作,一个简单快捷的解决方法是将该文件单独移动到一个文件夹中,然后提供该文件夹到addinputpath的路径。
如果您正试图为每个map任务读取一个完整的文件,那么我是否可以建议您看看这篇文章:在hadoop中将文件作为单个记录读取
你到底想做什么?
我本想把这个作为一个评论,但我没有足够的特权显然。。。