Редуктор просто не запускается в потоковой передаче Hadoop

Я не уверен, что происходит, но я написал простой скрипт сопоставления и редюсера.

И я тестирую его на небольшом наборе данных (например, в несколько строк).

По какой-то причине редуктор просто не запускается... а маппер выполняется снова и снова?

12/11/20 09:21:18 INFO streaming.StreamJob:  map 0%  reduce 0%
12/11/20 09:22:05 INFO streaming.StreamJob:  map 50%  reduce 0%
12/11/20 09:22:10 INFO streaming.StreamJob:  map 100%  reduce 0%
12/11/20 09:32:05 INFO streaming.StreamJob:  map 50%  reduce 0%
12/11/20 09:32:11 INFO streaming.StreamJob:  map 0%  reduce 0%
12/11/20 09:32:20 INFO streaming.StreamJob:  map 50%  reduce 0%
12/11/20 09:32:31 INFO streaming.StreamJob:  map 100%  reduce 0%
12/11/20 09:42:20 INFO streaming.StreamJob:  map 50%  reduce 0%
12/11/20 09:42:31 INFO streaming.StreamJob:  map 0%  reduce 0%
12/11/20 09:42:32 INFO streaming.StreamJob:  map 50%  reduce 0%
12/11/20 09:42:50 INFO streaming.StreamJob:  map 100%  reduce 0%

Дайте мне знать, если вы хотите код также. Любые подсказки о том, где я ошибаюсь? Спасибо


person frazman    schedule 20.11.2012    source источник


Ответы (1)


Ok. Виноват..

Ошибка была в моем шебанге, я только что

#!/usr/bin/env 

вместо

 #!/usr/bin/env  python

Это сделало свое дело :)

Хотя было бы очень интересно узнать, почему mapper запускался снова и снова, если бы я пропустил python из shebang..

person frazman    schedule 20.11.2012
comment
Hadoop, вероятно, повторно запустит сопоставитель, потому что Hadoop увидит задачу как FAILED, потому что ваша оболочка вернет ненулевой код выхода при попытке запустить ваш скрипт. - person Matt D; 20.11.2012