Verifique o nome do arquivo. Seus cinco 0 não são quatro.
% bl0ck_qu0te%Instalei o hadoop-1.0.3 no meu sistema (14.04), seguido por este tutorial .
E eu executei com sucesso um programa de exemplo do mapreduce para wordcount da seguinte forma,
hadoopuser@arul-PC:/usr/local/hadoop$ bin/hadoop jar hadoop*examples*.jar wordcount /user/hadoopuser/SampleData /user/hadoopuser/SampleOutput
14/06/17 15:25:45 INFO input.FileInputFormat: Total input paths to process : 3
14/06/17 15:25:45 INFO util.NativeCodeLoader: Loaded the native-hadoop library
14/06/17 15:25:45 WARN snappy.LoadSnappy: Snappy native library not loaded
14/06/17 15:25:45 INFO mapred.JobClient: Running job: job_201406171444_0002
14/06/17 15:25:46 INFO mapred.JobClient: map 0% reduce 0%
14/06/17 15:26:04 INFO mapred.JobClient: map 66% reduce 0%
14/06/17 15:26:13 INFO mapred.JobClient: map 100% reduce 0%
14/06/17 15:26:16 INFO mapred.JobClient: map 100% reduce 22%
14/06/17 15:26:28 INFO mapred.JobClient: map 100% reduce 100%
14/06/17 15:26:33 INFO mapred.JobClient: Job complete: job_201406171444_0002
14/06/17 15:26:33 INFO mapred.JobClient: Counters: 29
14/06/17 15:26:33 INFO mapred.JobClient: Job Counters
14/06/17 15:26:33 INFO mapred.JobClient: Launched reduce tasks=1
14/06/17 15:26:33 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=33037
14/06/17 15:26:33 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0
14/06/17 15:26:33 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0
14/06/17 15:26:33 INFO mapred.JobClient: Launched map tasks=3
14/06/17 15:26:33 INFO mapred.JobClient: Data-local map tasks=3
14/06/17 15:26:33 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=21208
14/06/17 15:26:33 INFO mapred.JobClient: File Output Format Counters
14/06/17 15:26:33 INFO mapred.JobClient: Bytes Written=880838
14/06/17 15:26:33 INFO mapred.JobClient: FileSystemCounters
14/06/17 15:26:33 INFO mapred.JobClient: FILE_BYTES_READ=2214875
14/06/17 15:26:33 INFO mapred.JobClient: HDFS_BYTES_READ=3671899
14/06/17 15:26:33 INFO mapred.JobClient: FILE_BYTES_WRITTEN=3775759
14/06/17 15:26:33 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=880838
14/06/17 15:26:33 INFO mapred.JobClient: File Input Format Counters
14/06/17 15:26:33 INFO mapred.JobClient: Bytes Read=3671523
14/06/17 15:26:33 INFO mapred.JobClient: Map-Reduce Framework
14/06/17 15:26:33 INFO mapred.JobClient: Map output materialized bytes=1474367
14/06/17 15:26:33 INFO mapred.JobClient: Map input records=77931
14/06/17 15:26:33 INFO mapred.JobClient: Reduce shuffle bytes=1207341
14/06/17 15:26:33 INFO mapred.JobClient: Spilled Records=255966
14/06/17 15:26:33 INFO mapred.JobClient: Map output bytes=6076101
14/06/17 15:26:33 INFO mapred.JobClient: Total committed heap usage (bytes)=517210112
14/06/17 15:26:33 INFO mapred.JobClient: CPU time spent (ms)=11530
14/06/17 15:26:33 INFO mapred.JobClient: Combine input records=629172
14/06/17 15:26:33 INFO mapred.JobClient: SPLIT_RAW_BYTES=376
14/06/17 15:26:33 INFO mapred.JobClient: Reduce input records=102324
14/06/17 15:26:33 INFO mapred.JobClient: Reduce input groups=82335
14/06/17 15:26:33 INFO mapred.JobClient: Combine output records=102324
14/06/17 15:26:33 INFO mapred.JobClient: Physical memory (bytes) snapshot=589725696
14/06/17 15:26:33 INFO mapred.JobClient: Reduce output records=82335
14/06/17 15:26:33 INFO mapred.JobClient: Virtual memory (bytes) snapshot=1862012928
14/06/17 15:26:33 INFO mapred.JobClient: Map output records=629172
Quando eu verifico o arquivo de saída, ele está presente na pasta de saída,
hadoopuser@arul-PC:/usr/local/hadoop$ bin/hadoop dfs -ls /user/hadoopuser/SampleOutput
Found 3 items
-rw-r--r-- 1 hadoopuser supergroup 0 2014-06-17 15:26 /user/hadoopuser/SampleOutput/_SUCCESS
drwxr-xr-x - hadoopuser supergroup 0 2014-06-17 15:25 /user/hadoopuser/SampleOutput/_logs
-rw-r - r-- 1 supergrupo hadoopuser 880838 2014-06-17 15:26 / usuário / hadoopuser / SampleOutput / part-r-00000
Eu tentei abri-lo usando o seguinte comando
hadoopuser@avvenire-PC:/usr/local/hadoop$ bin/hadoop dfs -cat /user/hadoopuser/SampleOutput/part-r-0000
Mas estou recebendo o resultado da seguinte forma,
cat: File does not exist: /user/hadoopuser/SampleOutput/part-r-0000
Por favor, me forneça uma solução. Agradeço antecipadamente.
Verifique o nome do arquivo. Seus cinco 0 não são quatro.
% bl0ck_qu0te%Então, eu percebo que uma resposta já foi aceita, mas aqui está a solução quando aconteceu comigo (apenas caso alguém mais veja esse tópico).
TLDR; Certifique-se de que não haja nomes de pastas conflitantes em seu diretório hadoop (para mim, era / usr / local / hadoop).
Quando eu estava gerando saída, eu estava colocando em uma pasta chamada output /, no entanto, antes deste programa eu tinha outro que também estava escrevendo para saída, e eu tinha salvo os dados de saída em uma pasta chamada especificamente saída no meu diretório hadoop. Isso estava causando problemas para mim, pois mesmo que essa pasta não tenha aparecido quando executei bin/hadoop fs -ls
, o comando bin/hadoop fs -cat output/*
estava realmente pesquisando na pasta que eu havia gerado antes, em vez da saída do programa que eu tinha acabado de correr. Depois de excluir esse diretório de saída com rm -rf output/
, o problema desapareceu.