ВГУ компьютерных наук

Запуск стандартного примера WordCount после компиляции

После компиляции пробуем запустить:

hadoop jar mywordcount.jar   org.apache.hadoop.examples.WordCount /input22   /home/training/output

выше показан пример запуска, в котором входная папка находится в корне файлой системы хадупа - если слэш (корень) -не указывать, то входные файлы надо расположить в одноимённой папке ,но в домашнем каталоге:

jar - пример создания архива на основе классов

jar cvf mywordcount.jar -C 123/ .

если классы лежат в папке: 123/

Подсчёт слов - компиляция стандартного пример Hadoop - WordCount.java

Перенесём исходники (а это три файла - SumReducer.java, WordCount.java и сам WordMapper.java) пример WordCount в какую-нибудь папку (скопируем ,что не испортить оригинал) ,например:

/home/training/training_materials/developer/exercises/wordcount/tryword

перейдём в неё.
в ней создадим подпапку с именем с именем:

Ошибка - 2 errors WordCount.java:61: cannot find symbol WordMapper.class

Решение проблемы здесь: http://fkn.ktu10.com/?q=node/5647

WordCount.java:61: cannot find symbol WordMapper.class
symbol : class WordMapper
location: class WordCount
job.setMapperClass(WordMapper.class

javac - компиляция файла WordCount.java

WordCount.java
javac WordCount.java

javac -classpath hadoop-*-core.jar -d WordCount.java
javac -classpath /usr/lib/hadoop-0.20-mapreduce/hadoop-core-2.0.0-mr1-cdh4.1.1 -d 123 WordCount.java
javac -classpath /usr/lib/hadoop-0.20-mapreduce/lib -d 123 WordCount.java

javac -classpath usr/lib/hadoop-0.20-mapreduce/hadoop-core-2.0.0-mr1-cdh4.1.1.jar:usr/lib/hadoop-0.20-mapreduce/lib/commons-cli-1.2.jar WordCount.java

javac -classpath usr/lib/hadoop-0.20-mapreduce/lib/* WordCount.java
javac -classpath /usr/lib/hadoop/*.jar WordCount.java

Ошибка - WordCount.java:1: package org.apache.hadoop.fs does not exist import org.apache.hadoop.fs.Path

WordCount.java:1: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path

Hadoop - проверить содержимое папки (директории) -вывести список файлов из папки

Итак предположим, что мы хотим проверить содержимое некоторой директории в файловой системе хадупа, делается это так:

hadoop fs -ls  /home/training/output

Выгрузить файлы - Hadoop - Скопировать данный из файловой системы хадупа на компьютер (в локальную директорию)

Скопировать данные из файловой системы хадупа на компьютер (в локальную директорию) можно например так:

hadoop fs -copyToLocal /home/training/output /home/training/out

Hadoop - hellow world (привет мир) - пример

Пока что мы не будет рассматривать вопрос установки чуда природы.
Предположим, что кластер разработчика (на одну машину) у вас уже установлен.
Наша цель - запустить имеющийся уже готовый пример кода подсчёта слов.

Hadoop создать директорию папку в файловой системе хадуп

создадим директорию с именем input22 :

hadoop fs -mkdir input22

причём эта папка будет создана в "домашней" диретории файловой системе хадупа ,а не в корне

Pages

Subscribe to RSS - ВГУ компьютерных наук