Привет! Я пытаюсь завершить задачу уменьшения карты с помощью Python, чтобы моя программа принимала 2 аргумента: строку и путь к папке.Он должен просканировать все папки в каталоге и найти в них строку.
Я запускаю свой код из терминала, как показано ниже:
python mapper.py "AA" /home/habil/Downloads/hadoop_test/ | python reducer.py
И это дает мне результат, как показано ниже:
Filename Count
-------- ---------
seq1.txt 153
seq2.txt 48
seq3.txt 83
seq4.txt 93
seq5.txt 102
Однако я должен реализовать это в hdfs, и меня смущает ввод команды hdfs, так что я должен дать моему коду путь к папке в качестве аргумента (чтобы получить имена файлов), а также hadoopтребует hdfs -input.Когда я запускаю команду ниже, я получаю сообщение об ошибке:
hadoop jar /usr/local/hadoop/hadoop-2.9.2/share/hadoop/tools/lib/hadoop-streaming-2.9.2.jar -mapper "mapper.py AA /assignment/hadoop_test/" -reducer reducer.py -input /assignment/hadoop_test/ -output /assignment/hadoop_test/output
Как я могу исправить эту проблему или как я могу передать путь ввода Hadoop напрямую в качестве аргумента моего кода в python?Любая помощь или подсказка приветствуется.Заранее спасибо.