Я пытаюсь настроить полностью распределенный экземпляр Hadoop / MapReduce, где каждый узел будет выполнять серию задач C ++ Hadoop Streaming на некотором входе. Однако я не хочу переносить все задачи ввода в HDFS - вместо этого я хочу посмотреть, есть ли способ чтения входных данных из локальных папок каждого узла.
Есть ли в любом случае, чтобы сделать это?
EDIT:
Пример команды hadoop, которую я хотел бы запустить, выглядит примерно так:
hadoop jar $HADOOP_STREAM/hadoop-streaming-0.20.203.0.jar \
-mapper map_example \
-input file:///data/ \
-output /output/ \
-reducer reducer_example \
-file map_example \
-file reducer_example
В этом случае данные, хранящиеся в каждом из моих узлов, находятся в каталоге / data /, и я хочу, чтобы вывод шел в каталог / output / каждого отдельного узла. Файлы map_example и reducer_example доступны локально во всех узлах.
Как я смогу реализовать команду Hadoop, которая, если она запускается на главном узле, тогда все подчиненные узлы, по сути, будут выполнять одну и ту же задачу на x числе узлов, что приведет к локальному выходному файлу на каждом узле (на основе локальных входных файлов)?
Спасибо