0

我有一个 hadoop 应用程序 - 取决于参数 - 只需要输入目录中的某些(少数!)输入文件。我现在的问题是:跳过这些文件的最佳位置(阅读:尽可能早)在哪里?现在我定制了一个 RecordReader 来处理这个问题,但我想知道我是否可以更快地跳过这些文件?在我目前的实现中,由于文件不相关,hadoop 仍然有巨大的开销。

也许我应该补充一点,很容易看出我是否需要某个输入文件。如果文件名以参数开头,则需要它。分层构造我的输入目录可能是一种解决方案,但对于我的项目来说不太可能,因为每个文件最终都会在某个目录中孤独。

4

2 回答 2

1

我已经成功使用 TextInputFormat 上的 setInputPaths() 方法来指定包含逗号分隔文件名的单个字符串。

于 2012-11-19T21:01:25.353 回答
1

我建议您通过在Path此处提到的输入 s 上应用适当的模式来过滤输入文件:https
://stackoverflow.com/a/13454344/1050422 请注意,此解决方案不考虑子目录。更改它以能够递归地访问基本路径中的所有子目录。

于 2012-11-20T09:26:58.337 回答