2014-03-31 3 views
0

seqdirectory으로 Mahout을 실행했지만 실패하여 입력 파일이 존재하지 않는다고 말했습니다. 실제로 파일이 종료됩니다.mahout seqdirectory가 입력 파일을 읽지 못함

$ ls train-data/ -l 
-rwxrwxrwx. 1 hadoop hadoop 5761396717 Feb 25 09:28 enwiki-20100904-pages-articles1.xml 



$ mahout seqdirectory -i train-data/enwiki-20100904-pages-articles1.xml -o train-data 
Running on hadoop, using /home/hadoop/hadoop-1.2.1/bin/hadoop and HADOOP_CONF_DIR= 
MAHOUT-JOB: /home/hadoop/mahout-distribution-0.9/examples/target/mahout-examples-0.9-job.jar 
14/03/31 19:45:05 INFO common.AbstractJob: Command line arguments: {--charset=[UTF-8], --chunkSize=[64], --endPhase=[2147483647], --fileFilterClass=[org.apache.mahout.text.PrefixAdditionFilter], --input=[train-data/enwiki-20100904-pages-articles1.xml], --keyPrefix=[], --method=[mapreduce], --output=[train-data], --startPhase=[0], --tempDir=[temp]} 
Exception in thread "main" java.io.FileNotFoundException: File does not exist: train-data/enwiki-20100904-pages-articles1.xml 
    at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:558) 
    at org.apache.mahout.text.SequenceFilesFromDirectory.runMapReduce(SequenceFilesFromDirectory.java) 
    at org.apache.mahout.text.SequenceFilesFromDirectory.run(SequenceFilesFromDirectory.java) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) 
    at org.apache.mahout.text.SequenceFilesFromDirectory.main(SequenceFilesFromDirectory.java) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:622) 
    at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 
    at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) 
    at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:622) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:160) 

무엇이 문제입니까?

답변

2

참조하는 FileSystem은 LocalFileSystem이지만 작업에서 HDFS의 파일을 예상하고 있습니다. 따라서 HDFS에서 파일을 이동하거나 MAHOUT_LOCAL 변수를 설정하십시오.

관련 문제