Thank your help. It's maybe for our hadoop system and classpath jar 
packages(may be the appache-cli version problem) were NOT compatible with the 
mahout.


So, I re-rewrite the jobs In ItemSimilarityJob in my own project, then it works!

在 2015-04-16 21:21:06,"Pat Ferrel" <p...@occamsmachete.com> 写道:
>As I said below “mahout itemsimilarity …”
>
>“mahout” will show a list of commands
>“mahout itemsimilarity” will show the command help
>
>You are using HDFS and I suspect /home/hadoop/itembased/user_item is not a 
>valid HDFS path? If so put the data in HDFS and use that path. Usually no need 
>to specify the tmp dir.
>
>On Apr 14, 2015, at 9:05 PM, lastarsenal <lastarse...@163.com> wrote:
>
>Hi, Pat,
>
>
>    I have tried to give a minimum arguments form ItemSimilarityJob as below:
>
>
>hadoop jar mahout-core-0.9-job.jar 
>org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob -i 
>/home/hadoop/itembased/user_item -o /home/hadoop/itembased/output -s 
>SIMILARITY_EUCLIDEAN_DISTANCE
>
>
>the argument parser error dismissed but another eorror came out:
>Exception in thread "main" java.io.IOException: resolve path must start with 
>/, temp/prepareRatingMatrix/numUsers.bin
>       at org.apache.hadoop.fs.viewfs.MountTree.resolve(MountTree.java:272)
>       at org.apache.hadoop.fs.viewfs.ViewFs.open(ViewFs.java:139)
>       at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:394)
>       at org.apache.mahout.common.HadoopUtil.readInt(HadoopUtil.java:339)
>       at 
> org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob.run(ItemSimilarityJob.java:147)
>       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
>       at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>       at 
> org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob.main(ItemSimilarityJob.java:93)
>       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:601)
>       at org.apache.hadoop.util.RunJar.main(RunJar.java:166)
>
>
>Then I tried to add --tempDir args:
>hadoop jar mahout-core-0.9-job.jar 
>org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob -i 
>/home/hadoop/itembased/user_item -o /home/hadoop/itembased/output -s 
>SIMILARITY_EUCLIDEAN_DISTANCE --tempDir=/tmp
>The argument parser error was back:
>ERROR common.AbstractJob: Unexpected --tempDir=/tmp while processing 
>Job-Specific Options:
>Unexpected --tempDir=/tmp while processing Job-Specific Options:               
> 
>Usage:                                                                         
> 
>[--input <input> --output <output> --similarityClassname <similarityClassname> 
>--maxSimilaritiesPerItem <maxSimilaritiesPerItem> --maxPrefs <maxPrefs>        
> 
>--minPrefsPerUser <minPrefsPerUser> --booleanData <booleanData> --threshold    
> 
><threshold> --randomSeed <randomSeed> --help --tempDir <tempDir> --startPhase  
> 
><startPhase> --endPhase <endPhase>]                                      
>
>
>So...   Oh, you give advice to use command line: mahout xxx, however, there is 
>no mahout command, how can I solve it? 
>
>
>Thanks a lot! 
>
>在 2015-04-15 03:13:23,"Pat Ferrel" <p...@occamsmachete.com> 写道:
>
>> Also you don’t need to specify -mp 0 that is always allowed, you are 
>> specifying minimum if there are any and so -mp 0 is not valid, omit it.
>> 
>> On Apr 14, 2015, at 11:59 AM, Pat Ferrel <p...@occamsmachete.com> wrote:
>> 
>> use 
>> 
>> “mahout itemsimilarity …”
>> 
>> But be aware that you have to convert all your user and item ids into 
>> non-negative ints. Basically inside Mahout-MapReduce they are assumed to be 
>> row and column numbers in a big matrix of all input. 
>> 
>> BTW no need to move data, Mahout-Spark reads anything Mahout-MapReduce can 
>> read without the ID restrictions.
>> 
>> On Apr 12, 2015, at 8:04 PM, lastarsenal <lastarse...@163.com> wrote:
>> 
>> Hi, Pat,
>> I think it would better to follow the existing system instead of making a 
>> large scale data transfer. 
>> 
>> 
>> So, I will be very appreciated if somebody can give the advice based on 
>> hadoop, Thank you.
>> 
>> 
>> 
>> 
>> 
>> 在 2015-04-13 00:33:48,"Pat Ferrel" <p...@occamsmachete.com> 写道:
>>> You are invoking it incorrectly but I’d suggest using the newer Spark 
>>> version. It’s easier to use and about 10x faster.
>>> 
>>> You’ll need to install Spark alongside Mahout then invoke with:
>>> 
>>> mahout spark-itemsimilarity -i input -o output ….
>>> 
>>> The driver is documented here: 
>>> http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html
>>> 
>>> 
>>> On Apr 11, 2015, at 12:34 AM, lastarsenal <lastarse...@163.com> wrote:
>>> 
>>> Hi,
>>> 
>>> I'm a rookie for mahout. Recently when I tried to run ItemSimilarityJob 
>>> with my own hadoop, I met a problem. The command is:
>>> 
>>> hadoop jar mahout-core-0.9-job.jar 
>>> org.apache.mahout.cf.taste.hadoop.similarity.item.ItemSimilarityJob -i 
>>> /home/hadoop/itembased/user_item -o /home/hadoop/itembased/output -s 
>>> SIMILARITY_EUCLIDEAN_DISTANCE -mp 0 -b true --startPhase 0 --endPhase 0
>>> 
>>> 
>>> There are 1 errors:
>>> 15/04/10 15:06:02 ERROR common.AbstractJob: Unexpected 0 while processing 
>>> Job-Specific Options:
>>> Unexpected 0 while processing Job-Specific Options:                         
>>>     
>>> Usage:                                                                      
>>>     
>>> [--input <input> --output <output> --similarityClassname 
>>> <similarityClassname> 
>>> --maxSimilaritiesPerItem <maxSimilaritiesPerItem> --maxPrefs <maxPrefs>     
>>>     
>>> --minPrefsPerUser <minPrefsPerUser> --booleanData <booleanData> --threshold 
>>>     
>>> <threshold> --randomSeed <randomSeed> --help --tempDir <tempDir> 
>>> --startPhase   
>>> <startPhase> --endPhase <endPhase>]    
>>> 
>>> 
>>> What's the resaon for this situation? Thank you!
>>> 
>>> 
>>> Best Regards,
>>> lastarsenal
>>> 
>> 
>> 
>

Reply via email to