Você também deve adicionar o caminho da pasta de destino de saída para os arquivos de classe em seu comando.
Siga estes passos.
-
Crie o diretório de destino para os arquivos de classe. Por exemplo, é chamado intersect_classes .
mkdir intersect_classes
-
Compile o programa.
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
-
Crie o jar "intersect.jar"
jar -cvf intersect.jar -C intersect_classes/ .
-
Copie o arquivo de entrada da fonte local para o sistema de arquivos hadoop
bin/hadoop dfs -put <path of input in localFileSystem>/inputfile <path of input in HDFS FileSystem>/inputfile
-
Execute o aplicativo:
bin/hadoop jar intersect.jar Intersect <path of input in HDFS FileSystem>/inputFile <paht of output in HDFS FileSystem>/output
-
Saída:
bin/hadoop dfs -cat <path of output in HDFS FileSystem>/output/*
A pasta de saída pode conter mais de um arquivo de saída, dependendo do número de redutores. O conteúdo do arquivo exato pode ser visualizado substituindo '*' pelo nome de arquivo presente na pasta de saída.
-
Recupere o arquivo de saída do sistema de arquivos hadoop para o destino local:
bin/hadoop dfs -get <path of output in HDFS FileSystem>/output <path of output in HDFS FileSystem>/output