在Hadoop 2.2.0中打开缓存文件

时间:2013-12-30 02:59:26

标签: java hadoop mapreduce yarn

将缓存文件添加到job.addCacheFile()的作业,然后使用context.getCacheFiles()的映射器将其拉下来。如何打开缓存文件。我尝试过使用:

BufferedReader reader = new BufferedReader(new FileReader(filename));(评论如下)

其中filename是toString()的{​​{1}},但是我得到一个IOException,说该文件不存在。谁能帮我吗?

URI

这是代码问题还是配置问题?我正在运行一个假想的伪分布式集群

1 个答案:

答案 0 :(得分:2)

你可以使用这样的东西

    Path path = new Path(uri[0].getPath().toString());
    if (fileSystem.exists(path)) {
        FSDataInputStream dataInputStream = fileSystem.open(path);

        byte[] data = new byte[1024];
        while (dataInputStream.read(data) > 0) {
            //do your stuff here
        }

        dataInputStream.close();
    }