hadoop:FileSystem copyToLocalFile方法无法复制整个文件

时间:2013-02-11 16:29:08

标签: hadoop hdfs

我需要每个群集的节点从hdfs检索1GB文件。我使用FileSystem的copyToLocalFile方法。但是,不是整个文件(1GB),每个节点检索大约50MB的文件,然后代码继续。结果我的工作失败了。为什么会发生这种情况?有没有办法“等待”,直到整个文件被复制到本地fs?

编辑:我的mapper类检查文件是否存在于节点的本地fs中,如果不存在则检索它。这是在setup()函数中完成的。

1 个答案:

答案 0 :(得分:0)

从上次修改开始:

  

编辑:我的mapper类检查文件是否存在于节点的本地fs中,如果不存在则检索它。这是在setup()函数中完成的。

您所描述的正是DistributedCache的设计目标 - 它将确保在您的任何map / reduce任务在该节点上运行之前将文件复制到每个任务跟踪器。