You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by Julián Limón Núñez <ju...@tukipa.com> on 2011/04/16 04:54:43 UTC

Error running bin/mahout rowid

Hello all,

I hope you guys can shed some light here. I've been trying to use the
command line to convert a seq2sparse-generated vector into a matrix form
that is a SequenceFile<IntWritable,VectorWritable> and a
SequenceFile<IntWritable,Text> as suggested in
https://cwiki.apache.org/MAHOUT/dimensional-reduction.html and
http://search.lucidimagination.com/search/document/748181681ae5238b/need_a_little_help_with_using_svd#994da1aa86154c12

However, I'm getting the following error:

bin/mahout rowid --input
/home/julian/Documents/code/bb/test6/vectors/tfidf-vectors/part-r-00000
--output /home/julian/Documents/code/bb/test6/matrix/
no HADOOP_HOME set, running locally
Exception in thread "main" java.lang.IllegalArgumentException: Can not
create a Path from a null string
at org.apache.hadoop.fs.Path.checkPathArg(Path.java:78)
at org.apache.hadoop.fs.Path.<init>(Path.java:90)
at org.apache.mahout.utils.vectors.RowIdJob.run(RowIdJob.java:41)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
at org.apache.mahout.utils.vectors.RowIdJob.main(RowIdJob.java:79)
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:184)

I've already tried to change "input" and "output" for "mapred.input.dir" and
"mapred.output.dir" to no avail. Any hints on what may be causing the error?
Alternatively, a pointer to the classes I could use to achieve the same
result would also help.

Thanks a lot,

Julian

Re: Error running bin/mahout rowid

Posted by Julián Limón Núñez <ju...@tukipa.com>.
Nevermind. I ran the RowIdJob class hard-coding the paths and it worked.

El 15 de abril de 2011 19:54, Julián Limón Núñez
<ju...@tukipa.com>escribió:

> Hello all,
>
> I hope you guys can shed some light here. I've been trying to use the
> command line to convert a seq2sparse-generated vector into a matrix form
> that is a SequenceFile<IntWritable,VectorWritable> and a
> SequenceFile<IntWritable,Text> as suggested in
> https://cwiki.apache.org/MAHOUT/dimensional-reduction.html and
>
> http://search.lucidimagination.com/search/document/748181681ae5238b/need_a_little_help_with_using_svd#994da1aa86154c12
>
> However, I'm getting the following error:
>
> bin/mahout rowid --input
> /home/julian/Documents/code/bb/test6/vectors/tfidf-vectors/part-r-00000
> --output /home/julian/Documents/code/bb/test6/matrix/
> no HADOOP_HOME set, running locally
> Exception in thread "main" java.lang.IllegalArgumentException: Can not
> create a Path from a null string
> at org.apache.hadoop.fs.Path.checkPathArg(Path.java:78)
>  at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> at org.apache.mahout.utils.vectors.RowIdJob.run(RowIdJob.java:41)
>  at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
>  at org.apache.mahout.utils.vectors.RowIdJob.main(RowIdJob.java:79)
> 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:184)
>
> I've already tried to change "input" and "output" for "mapred.input.dir"
> and "mapred.output.dir" to no avail. Any hints on what may be causing the
> error? Alternatively, a pointer to the classes I could use to achieve the
> same result would also help.
>
> Thanks a lot,
>
> Julian
>
>

Re: Error running bin/mahout rowid

Posted by Julián Limón Núñez <ju...@tukipa.com>.
Thanks Sean!

I had tried "mapred.input.dir" before but I was missing a letter. The
following code worked!

bin/mahout rowid
-Dmapred.input.dir=/home/julian/Documents/code/bb/test6/vectors/tfidf-vectors/part-r-00000
-Dmapred.output.dir=/home/julian/Documents/code/bb/test6/matrix/

Thanks


El 16 de abril de 2011 02:47, Sean Owen <sr...@gmail.com> escribió:

> This job is not parsing command-line arguments like --input, it seems,
> but looking for the standard Hadoop params. The example in the wiki
> looks correct in that it is consistent with this. You should not need
> to modify the code or hard-code a value.
>
> However I do think this is an example of some lack of standardization
> across the various jobs, which contributes to user confusion indeed.
>
> 2011/4/16 Julián Limón Núñez <ju...@tukipa.com>:
> > Hello all,
> >
> > I hope you guys can shed some light here. I've been trying to use the
> > command line to convert a seq2sparse-generated vector into a matrix form
> > that is a SequenceFile<IntWritable,VectorWritable> and a
> > SequenceFile<IntWritable,Text> as suggested in
> > https://cwiki.apache.org/MAHOUT/dimensional-reduction.html and
> >
> http://search.lucidimagination.com/search/document/748181681ae5238b/need_a_little_help_with_using_svd#994da1aa86154c12
> >
> > However, I'm getting the following error:
> >
> > bin/mahout rowid --input
> > /home/julian/Documents/code/bb/test6/vectors/tfidf-vectors/part-r-00000
> > --output /home/julian/Documents/code/bb/test6/matrix/
> > no HADOOP_HOME set, running locally
> > Exception in thread "main" java.lang.IllegalArgumentException: Can not
> > create a Path from a null string
> > at org.apache.hadoop.fs.Path.checkPathArg(Path.java:78)
> > at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> > at org.apache.mahout.utils.vectors.RowIdJob.run(RowIdJob.java:41)
> > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> > at org.apache.mahout.utils.vectors.RowIdJob.main(RowIdJob.java:79)
> > 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:184)
> >
> > I've already tried to change "input" and "output" for "mapred.input.dir"
> and
> > "mapred.output.dir" to no avail. Any hints on what may be causing the
> error?
> > Alternatively, a pointer to the classes I could use to achieve the same
> > result would also help.
> >
> > Thanks a lot,
> >
> > Julian
> >
>

Re: Error running bin/mahout rowid

Posted by Sean Owen <sr...@gmail.com>.
This job is not parsing command-line arguments like --input, it seems,
but looking for the standard Hadoop params. The example in the wiki
looks correct in that it is consistent with this. You should not need
to modify the code or hard-code a value.

However I do think this is an example of some lack of standardization
across the various jobs, which contributes to user confusion indeed.

2011/4/16 Julián Limón Núñez <ju...@tukipa.com>:
> Hello all,
>
> I hope you guys can shed some light here. I've been trying to use the
> command line to convert a seq2sparse-generated vector into a matrix form
> that is a SequenceFile<IntWritable,VectorWritable> and a
> SequenceFile<IntWritable,Text> as suggested in
> https://cwiki.apache.org/MAHOUT/dimensional-reduction.html and
> http://search.lucidimagination.com/search/document/748181681ae5238b/need_a_little_help_with_using_svd#994da1aa86154c12
>
> However, I'm getting the following error:
>
> bin/mahout rowid --input
> /home/julian/Documents/code/bb/test6/vectors/tfidf-vectors/part-r-00000
> --output /home/julian/Documents/code/bb/test6/matrix/
> no HADOOP_HOME set, running locally
> Exception in thread "main" java.lang.IllegalArgumentException: Can not
> create a Path from a null string
> at org.apache.hadoop.fs.Path.checkPathArg(Path.java:78)
> at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> at org.apache.mahout.utils.vectors.RowIdJob.run(RowIdJob.java:41)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
> at org.apache.mahout.utils.vectors.RowIdJob.main(RowIdJob.java:79)
> 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:184)
>
> I've already tried to change "input" and "output" for "mapred.input.dir" and
> "mapred.output.dir" to no avail. Any hints on what may be causing the error?
> Alternatively, a pointer to the classes I could use to achieve the same
> result would also help.
>
> Thanks a lot,
>
> Julian
>