Я борюсь с очень простой проблемой в hadoop
потоковая передача в опции "-file".
Сначала я попробовал самый простой пример потоковой передачи:
hadoop @ ubuntu: / usr / local / hadoop $ bin / hadoop jar
contrib / streaming / hadoop-streaming-0.20.203.0.jar -mapper
org.apache.hadoop.mapred.lib.IdentityMapper \ -reducer / bin / wc
-inputformat KeyValueTextInputFormat -input gutenberg / * -output
Гутенберг-outputtstchk22
, который работал абсолютно нормально.
Затем я скопировал исходный код IdentityMapper.java и скомпилировал его.
Затем я поместил этот файл класса в папку / home / hadoop и выполнил
следуя в терминале.
hadoop @ ubuntu: / usr / local / hadoop $ bin / hadoop jar
contrib / streaming / hadoop-streaming-0.20.203.0.jar -file
~ / IdentityMapper.class -mapper IdentityMapper.class \ -reducer / bin / wc
-inputformat KeyValueTextInputFormat -input gutenberg / * -output
Гутенберг-outputtstch6
Не удалось выполнить следующую ошибку в файле stderr:
java.io.IOException: не удается запустить программу "IdentityMapper.class":
java.io.IOException: ошибка = 2, нет такого файла или каталога
Затем я снова попробовал, скопировав файл IdentityMapper.class в
установил hadoop и выполнил следующее:
hadoop @ ubuntu: / usr / local / hadoop $ bin / hadoop jar
contrib / streaming / hadoop-streaming-0.20.203.0.jar -file
IdentityMapper.class -mapper IdentityMapper.class \ -reducer / bin / wc
-inputformat KeyValueTextInputFormat -input gutenberg / * -output
Гутенберг-outputtstch5
Но, к сожалению, снова я получил ту же ошибку.
Было бы замечательно, если бы вы могли помочь мне, потому что я не могу двигаться дальше
без преодоления этого.
Благодарю вас в ожидании.