Описание тега hadoop-streaming

Потоковая передача Hadoop - это утилита, которая позволяет запускать задания сокращения карты с использованием любого исполняемого файла, который читает из стандартного ввода и записывает в стандартный вывод.

Потоковая передача 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