Программа чтения Hadoop MapFile не обнаруживает файл в распределенном кэше

Мне нужна помощь относительно читателя файла карты.
Я добавляю файлы в кеш опциями -files

баночка пряжи HadoopProjects.jar rsProject.driver - файлы hdfs://localhost:8020/data/mapFileTestFolder.tar.gz....

вот я это называю

@SuppressWarnings("deprecation")
@Override
protected void setup(Context context) {
    try {
        Path[] cacheLocalFiles = DistributedCache.getLocalCacheFiles(context.getConfiguration());
        logF.info("reducer started setup");

            for (Path path:cacheLocalFiles) {
                logF("reducer setup " + path.getName().toString());
                if (path.getName().toString().contains("mapFileTestFolder.tar.gz")) {
                    URI mapUri = new File(path.toString() + "/mapFileTestFolder").toURI();
                    logF.info("depReader init begins URI = " + mapUri.toString());
                    depReader = new MapFile.Reader(FileSystem.get(context.getConfiguration()),mapUri.toString(), context.getConfiguration());
                    logF.info("depReader init ends");

                }
            }
        } catch (IOException e) {
            e.printStackTrace();
            logF.info("depReader init error - " + e);
        } 
        //some other lines

}

Вот что я вижу в логах

2014-03-11 08:31:09,305 ИНФОРМАЦИЯ [main] rsProject.myReducer: initReader init начинается URI = файл:/home/hadoop/Training/hadoop_work/mapred/nodemanager/usercache/hadoop/appcache/application_1394318775013_0079/container_1394318775013_0079_ol_File_00000 tar.gz / mapFileTestFolder

2014-03-11 08: 31: 09,345 INFO [main] rsProject.myReducer: ошибка инициализации depReader - java.io.FileNotFoundException: файл:/home/hadoop/Training/hadoop_work/mapred/nodemanager/usercache/hadoop/appcache/application_1394318775013_0079/container_1394318775013_0079_01_000005/mapFileTestFolder.tar.gz/mapFileTestFolder/ данные не существуют

mapFileTestFolder.tar.gz - это сжатый файл карты (с индексом и данными в нем)

Я предполагаю, что этот файл существует в распределенном кэше, поскольку бегун входит в условие, если совпадает.
Почему это происходит? знак равно

Любая помощь приветствуется
Спасибо

1 ответ

Вопрос решен. Моя глупая ошибка =/ Я должен был использовать команду добавления архива в распределенный кеш, а не в виде файла.

Другие вопросы по тегам