Mahout LDA дает исключение FileNotFound - PullRequest
0 голосов
/ 05 сентября 2011

Я создал свои векторы терминов, как указано здесь , например:

~/Scripts/Mahout/trunk/bin/mahout seqdirectory --input /home/ben/Scripts/eipi/files --output /home/ben/Scripts/eipi/mahout_out -chunk 1
~/Scripts/Mahout/trunk/bin/mahout seq2sparse -i /home/ben/Scripts/eipi/mahout_out -o /home/ben/Scripts/eipi/termvecs -wt tf -seq

Тогда я бегу

~/Scripts/Mahout/trunk/bin/mahout lda -i /home/ben/Scripts/eipi/termvecs -o /home/ben/Scripts/eipi/lda_working -k 2 -v 100

и я получаю:

MAHOUT-JOB: /home/ben/Scripts/Mahout/trunk/examples/target/mahout-examples-0.6-SNAPSHOT-job.jar 09.11.04 16:28:59 INFO common.AbstractJob: аргументы командной строки: {--endPhase = 2147483647, --input = / home / ben / Scripts / eipi / termvecs, --maxIter = -1, - numTopics = 2, --numWords = 100, --output = / home / ben / Scripts / eipi / lda_working, --startPhase = 0, --tempDir = temp, --topicSmoothing = -1.0} 09.11.04 16:29:00 ИНФОРМАЦИЯ lda.LDADriver: LDA Iteration 1 11/09/04 16:29:01 INFO input.FileInputFormat: Всего путей ввода для обработки: 4 11/09/04 16:29:01 INFO mapred.JobClient: Очистка файла промежуточной области: /tmp/hadoop-ben/mapred/staging/ben692167368/.staging/job_local_0001 Исключение в потоке "main" java.io.FileNotFoundException: Файловый файл: / home / ben / Scripts / eipi / termvecs / tokenized-documents / data не существует. в org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus (RawLocalFileSystem.java:371) в org.apache.hadoop.fs.FilterFileSystem.getFileStatus (FilterFileSystem.java:245) в org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat.listStatus (SequenceFileInputFormat.java:63) в org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits (FileInputFormat.java:252) в org.apache.hadoop.mapred.JobClient.writeNewSplits (JobClient.java:902) в org.apache.hadoop.mapred.JobClient.writeSplits (JobClient.java:919) в org.apache.hadoop.mapred.JobClient.access $ 500 (JobClient.java:170) в org.apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:838) в org.apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:791) at java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs (Subject.java:396) в org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1059) в org.apache.hadoop.mapred.JobClient.submitJobInternal (JobClient.java:791) в org.apache.hadoop.mapreduce.Job.submit (Job.java:465) в org.apache.hadoop.mapreduce.Job.waitForCompletion (Job.java:494) в org.apache.mahout.clustering.lda.LDADriver.runIteration (LDADriver.java:426) на org.apache.mahout.clustering.lda.LDADriver.run (LDADriver.java:226) в org.apache.mahout.clustering.lda.LDADriver.run (LDADriver.java:174) в org.apache.hadoop.util.ToolRunner.run (ToolRunner.java:65) в org.apache.mahout.clustering.lda.LDADriver.main (LDADriver.java:90) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (Method.java:597) в org.apache.hadoop.util.ProgramDriver $ ProgramDescription.invoke (ProgramDriver.java:68) в org.apache.hadoop.util.ProgramDriver.driver (ProgramDriver.java:139) в org.apache.mahout.driver.MahoutDriver.main (MahoutDriver.java:188) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (Method.java:597) в org.apache.hadoop.util.RunJar.main (RunJar.java:156)

Правильно, этот файл не существует. Как я должен это создать?

1 Ответ

0 голосов
/ 28 июня 2012

Векторы могут быть пустыми, так как могут возникнуть проблемы при их создании.Проверьте, успешно ли созданы ваши векторы в их папках (размер файла не равен 0 байтам).Эта ошибка может возникнуть, если во входной папке отсутствуют некоторые файлы.В этом случае эти два шага будут работать, хотя и не создадут действительный вывод.

...