Описание тега hadoop-streaming
Потоковая передача Hadoop - это утилита, входящая в состав дистрибутива Hadoop. Утилита позволяет создавать и запускать задания сопоставления / сокращения с любым исполняемым файлом или сценарием, поскольку сопоставитель и / или редуктор и сценарий должны иметь возможность читать из стандартного ввода и записывать в стандартный вывод.
Hadoop предоставляет API для MapReduce, который позволяет писать карту и сокращать количество функций на языках, отличных от Java. Hadoop Streaming использует стандартные потоки Unix в качестве интерфейса между Hadoop и вашей программой, поэтому вы можете использовать любой язык, который может читать стандартный ввод и записывать в стандартный вывод для написания вашей программы MapReduce.
Например:
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper /bin/cat \
-reducer /bin/wc
Пример Ruby:
hadoop jar $HADOOP_INSTALL/contrib/streaming/hadoop-*-streaming.jar \
-input input/ncdc/sample.txt \
-output output \
-mapper ch02/src/main/ruby/max_temperature_map.rb \
-reducer ch02/src/main/ruby/max_temperature_reduce.rb
Пример Python:
hadoop jar $HADOOP_INSTALL/contrib/streaming/hadoop-*-streaming.jar \
-input input/ncdc/sample.txt \
-output output \
-mapper ch02/src/main/ruby/max_temperature_map.py \
-reducer ch02/src/main/ruby/max_temperature_reduce.py