I've figured out what's the problem. I mistakenly set -dt as text, which should be sequence file.
On Apr 18, 2012, at 1:41 AM, Huanchen Zhang wrote: > Hi, > > After I've done the LDA topic analysis. I want to obtain the output of the > topics using : > > bin/mahout ldatopics \ > -i <input vectors directory> \ > -d <input dictionary file> \ > -o <optional output working directory. Default is to console> \ > -dt <optional dictionary type (text|sequencefile). Default is text> > > But, it always tells me the dictionary file cannot be found: > > Exception in thread "main" java.io.FileNotFoundException: > /user/root/software/vector/dictionary.file-* (No such file or directory) > at java.io.FileInputStream.open(Native Method) > at java.io.FileInputStream.<init>(FileInputStream.java:120) > at > org.apache.mahout.utils.vectors.VectorHelper.loadTermDictionary(VectorHelper.java:157) > at > org.apache.mahout.clustering.lda.LDAPrintTopics.main(LDAPrintTopics.java:121) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > 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:188) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.util.RunJar.main(RunJar.java:156) > > But, I can see the dictionary file is there in HDFS using hadoop fs -ls. > > Anyone has any ideas ? Thank you very much ! > > Best, > Huanchen
