Я работаю над заданием, которое обрабатывает вложенную структуру каталогов, содержащую файлы на нескольких уровнях:
one/
├── three/
│ └── four/
│ ├── baz.txt
│ ├── bleh.txt
│ └── foo.txt
└── two/
├── bar.txt
└── gaa.txt
Когда я добавляю one/ в качестве входного пути, файлы не обрабатываются, так как ни один из них не доступен сразу на корневом уровне.
Я читал о job.addInputPathRecursively(..), но это, похоже, устарело в последних выпусках (я использую hasoop 1.0.2). Я написал некоторый код, чтобы ходить по папкам и добавлять каждый каталог с помощью job.addInputPath(dir), который работал до тех пор, пока задание не разбилось при попытке обработать каталог как входной файл по какой-либо причине, например. - пытается fs.open(split.getPath()), когда split.getPath() является каталогом (это происходит внутри LineRecordReader.java).
Я пытаюсь убедить себя, что должен быть более простой способ предоставить работу вложенной структуре каталогов. Любые идеи?
РЕДАКТИРОВАТЬ - видимо, есть открытая ошибка.