Аргументом для опции командной строки -reducer
может быть любая команда, поэтому вы можете попробовать:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input inputDirs \
-output outputDir \
-mapper myMapper.py \
-reducer 'myReducer.py 1 2 3' \
-file myMapper.py \
-file myReducer.py
при условии, что myReducer.py
сделан исполняемым.Отказ от ответственности: я не пробовал это, но я передал подобные сложные строки -mapper
и -reducer
раньше.
Тем не менее, вы пробовали опцию
-cmdenv name=value
, ипросто ваш редуктор Python получает свою ценность из окружающей среды?Это просто еще один способ сделать что-то.