Как запустить программу подсчета слов в hadoop 2.6.0, установленном в Ubuntu 14.04? [закрыто]

-1
sudo javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar:/usr/local/hadoop/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar WordCount.java

Я не понимаю команду, которую мне нужно написать вместо javac -classpath.

дикша шарма шарма
источник

Ответы:

2

Вы также должны добавить путь к выходной папке назначения для файлов классов в вашей команде.

Следуй этим шагам.

  • Создайте каталог назначения для файлов классов. Например, это называется intersect_classes .

    mkdir intersect_classes
    
  • Скомпилируйте программу.

    sudo javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar:/usr/local/hadoop/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar -d intersect_classes WordCount.java
    
  • Создайте банку "intersect.jar"

    jar -cvf intersect.jar -C intersect_classes/ .
    
  • Скопируйте входной файл из локального источника в файловую систему hadoop

    bin/hadoop dfs -put <path of input in localFileSystem>/inputfile <path of input in HDFS FileSystem>/inputfile
    
  • Запустите приложение:

    bin/hadoop jar intersect.jar Intersect <path of input in HDFS FileSystem>/inputFile <paht of output in HDFS FileSystem>/output
    
  • Выход:

    bin/hadoop dfs -cat <path of output in HDFS FileSystem>/output/*
    

Выходная папка может содержать более одного выходного файла в зависимости от количества редукторов. Содержимое точного файла можно просмотреть, заменив '*' именем файла, присутствующим в выходной папке.

  • Извлеките выходной файл из файловой системы hadoop в локальное место назначения:

    bin/hadoop dfs -get <path of output in HDFS FileSystem>/output <path of output in HDFS FileSystem>/output
    
Акшай Пратап Сингх
источник
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Тим
@Tim, содержание вопроса написано плохо, поэтому я предпочитаю отвечать на вопрос, просто рекомендуя ссылку.
Акшай Пратап Сингх
Плохой вопрос не означает, что вы не можете дать хороший ответ.
Тим
@Tim и Pilot6, я отредактировал свой ответ и добавил соответствующие шаги, которые необходимо выполнить, чтобы решить эту проблему.
Акшай Пратап Сингх
Как мы находим путь ввода в файловой системе HDFS?
Винеет Каушик